Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 16 kết quả

Đề tài: Lập trình C | Tìm số nguyên tố

  1. #1
    Ngày gia nhập
    12 2008
    Bài viết
    0

    Mặc định Lập trình C | Tìm số nguyên tố

    Đây là bài tìm số nguyên tố của mình...Ai biết sửa lỗi với :

    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    void main()
    {
      int n , ok = 1 , i= 0 ;
      printf ("\n Nhap vao mot so nguyen duong de kiem tra : ");
      scanf("%d" , &n );
      for ( i = 1 ; i <= (int)sqrt(n) ; i++ )
        {
          if ( n % i == 0 )
    	{
    	  ok = 0;    
         
    break;
    	}
        }
      if (ok)
       printf("\n%d la so nguyen to ", n );
      else
       printf("\n%d khong phai la so nguyen to ", n );
      getch();   
    }
    Đã được chỉnh sửa lần cuối bởi chieuhue : 22-12-2008 lúc 08:57 AM.

  2. #2
    Ngày gia nhập
    12 2008
    Bài viết
    235

    bạn cho i chạy từ 1 thì số nào mà chả chia hết -> tất cả đều là hợp số
    Mình sửa cho nè
    Code:
    #include"stdio.h"
    #include <conio.h>
    #include <math.h>
    void main()
    {
    int n , ok = 1 , i= 0 ;
    clrscr();
    printf ("\n Nhap vao mot so nguyen duong de kiem tra : ");
    scanf("%d" , &n );
    if(n<=1)
    {
    	printf("%d khong la so nguyen to",n);
    	fflush(stdin);getch();
    	return;
    }
    else if(n==2)
    {
    	printf(" 2 la so nguyen to");
    	fflush(stdin);getch();
    	return;
    }
    for ( i = 2 ; i <= (int)sqrt(n) ; i++ )
    	if ( n % i == 0 )
    	{
    		ok=0;
    		break;
    	}
    if (ok)
    	printf("\n%d la so nguyen to ", n );
    else
    	printf("\n%d khong phai la so nguyen to ", n );
    fflush(stdin);getch();
    }

  3. #3
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    fflush(stdin); làm gì vậy?

    dùng if thì không cần phải return nhiều vậy đâu pro, thử như này xem nhé

    C Code:
    1. #include"stdio.h"
    2. #include <conio.h>
    3. #include <math.h>
    4. void main()
    5. {
    6.      int n , ok = 1 , i= 0 ;
    7.      clrscr();
    8.      printf ("\n Nhap vao mot so nguyen duong de kiem tra : ");
    9.      scanf("%d" , &n );
    10.      if(n<=1) ok=0;
    11.      else if(n>2)
    12.           for ( i = 2 ; i <= (int)sqrt(n) ; i++ )
    13.            if ( n % i == 0 )
    14.            {
    15.              ok=0;
    16.              break;
    17.            }
    18.       if (ok)
    19.          printf("\n%d la so nguyen to ", n );
    20.       else
    21.          printf("\n%d khong phai la so nguyen to ", n );
    22.       getch();
    23. }

  4. #4
    Ngày gia nhập
    12 2008
    Bài viết
    0

    Cám ơn...Cuối cùng mình cũng hiểu mình sai chỗ nào rồi...

  5. #5
    Ngày gia nhập
    11 2008
    Bài viết
    0

    bạn có thể giải thích dùm mình "if (ok)" nghĩa là gì được không. Cám ơn trước nha

  6. #6
    Ngày gia nhập
    11 2008
    Bài viết
    3

    Mặc định Lập trình C | Tìm số nguyên tố

    bạn có thể giải thích dùm mình "if (ok)" nghĩa là gì được không. Cám ơn trước nha
    if(OK) tức là OK=1 chứ OK!=0

  7. #7
    Ngày gia nhập
    11 2008
    Nơi ở
    www.freelancer.com
    Bài viết
    75

    mình ko hỉu rõ thuật toán bài tìm sô nguyên tố của bạn;nói rõ cho mình nhá.thank
    mình có 1 cách như thế này sem đc ko nhá
    C Code:
    1. #include "stdio.h"
    2. #include "conio.h"
    3. void main()
    4. {
    5. int i,n,d;
    6. clrscr();
    7. printf("Nhap So Nguyen Duong Muon Kiem Tra: ");scanf("%d",&n);
    8. if(n==1)printf("So 1 ko phai so Nguyen To");
    9. else if(n==2)printf("So 2 la so nguyen to");
    10. else
    11.  {
    12.  d=0;
    13.  for(i=2;i<n;i++)
    14.   if(n%i==0)
    15.         {
    16.         d++;
    17.         break;
    18.         }
    19.  if(d==0)printf("So %d la so nguyen to",n);
    20.  else printf("So %d ko la so nguyen to",n);
    21.  }
    22. getch();
    23. }
    Đã được chỉnh sửa lần cuối bởi MrChicKen_NAD : 24-12-2008 lúc 10:21 PM.
    Hiring someone to help someone else!

  8. #8
    Ngày gia nhập
    10 2008
    Bài viết
    99

    Trích dẫn Nguyên bản được gửi bởi MrChicKen_NAD Xem bài viết
    mình ko hỉu rõ thuật toán bài tìm sô nguyên tố của bạn;nói rõ cho mình nhá.thank
    mình có 1 cách như thế này sem đc ko nhá
    C Code:
    1. #include "stdio.h"
    2. #include "conio.h"
    3. void main()
    4. {
    5. int i,n,d;
    6. clrscr();
    7. printf("Nhap So Nguyen Duong Muon Kiem Tra: ");scanf("%d",&n);
    8. if(n==1)printf("So 1 ko phai so Nguyen To");
    9. else if(n==2)printf("So 2 la so nguyen to");
    10. else
    11.  {
    12.  d=0;
    13.  for(i=2;i<n;i++)
    14.   if(n%i==0)
    15.         {
    16.         d++;
    17.         break;
    18.         }
    19.  if(d==0)printf("So %d la so nguyen to",n);
    20.  else printf("So %d ko la so nguyen to",n);
    21.  }
    22. getch();
    23. }
    bài này của bạn là đúng
    tuy nhiên khi đưa vào code thì đoạn
    for(i=2;i<n;i++) chuyển thành for(i=1;i<=n;i++)
    mọi người đọc sẽ thấy sai

  9. #9
    Ngày gia nhập
    01 2009
    Nơi ở
    Tân ấp - Hà Nội
    Bài viết
    20

    Nếu da làm được bài trên rồi, thì làm thêm bài, tìm số nguyên tố <n, và tìm số nguyên tố trong một mảng.
    Em còn nhớ hay em đã quên
    Nhớ Sài Gòn mưa rồi chợt nắng
    Nhớ phố xưa quen biết tên bàn chân
    Nhớ đèn đường từng đêm thao thức
    Sáng cho em vòm lá me xanh

  10. #10
    Ngày gia nhập
    11 2008
    Nơi ở
    Hà Nội
    Bài viết
    70

    Theo mình nên viết riêng 1 hàm nguyên tố ra cho dễ nhìn và dễ nhớ:

    C Code:
    1. long ngto(long n)
    2. {
    3.     if(n==0||n==1) return 0;
    4.     long i;
    5.     for(i=2;i<=sqrt(n);i++)
    6.     if(n%i==0) return 0;
    7.     return 1;
    8. }
    Dân thường sống đẹp đè bẹp dân chơi.
    Hi [you]

Các đề tài tương tự

  1. Bài tập C giải thuật nhập vào số nguyên n in ra n số nguyên tố đầu tiên?
    Gửi bởi LTC trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 48
    Bài viết cuối: 25-04-2013, 07:40 PM
  2. Viết chương trình nhập số nguyên dương n, liệt kê n số nguyên tố đầu tiên.
    Gửi bởi maiit trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 11
    Bài viết cuối: 19-06-2011, 01:05 PM
  3. Game Viết chương trình nhập số nguyên dương n, liệt kê n số nguyên tố đầu tiên trên C#?
    Gửi bởi maiit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 18
    Bài viết cuối: 08-06-2011, 11:12 PM
  4. Bài tập C++ chương trình đổi 1 số nguyên trong hệ thập phân sang hệ fibo và cộng 2 số nguyên được
    Gửi bởi nghiapro512 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 23-01-2011, 02:14 PM
  5. Lập trình C xin code cài đặt thuật toán sàng nguyên tố để liệt kê các số nguyên tố 2->480000
    Gửi bởi ngocdung_088 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 23
    Bài viết cuối: 06-12-2010, 11:53 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn