Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: Cho mình hỏi về bài tìm số nguyên tố.

  1. #1
    Ngày gia nhập
    09 2012
    Bài viết
    1

    Mặc định Cho mình hỏi về bài tìm số nguyên tố.

    Sửa giúp mình đoạn code tìm số nguyên tố này với...?

    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    main()
    {
          int a[200],i,j,n,dem=0;
          printf("\nCo bao nhieu phan tu trong mang: "); scanf("%d",&n);
          printf("\nNhap cac phan tu cua mang vao di: ");
          for(i=0;i<n;i++)
          scanf("%d",&a[i]);
          
          printf("\nKiem tra xem do co phai so nguyen to hay khong? ");
          
          for(i=0;i<n;i++)
              {
               for(j=1;j<=a[i];j++)
                   if(a[i]%j==0) 
                   dem++;  
               if(dem==2) printf("\n%d la so nguyen to.",a[i]);
              }
    getch();      
    }

  2. #2
    Ngày gia nhập
    02 2012
    Nơi ở
    hà nội
    Bài viết
    58

    Trích dẫn Nguyên bản được gửi bởi conga2012 Xem bài viết
    Sửa giúp mình đoạn code tìm số nguyên tố này với...?

    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    main()
    {
          int a[200],i,j,n,dem=0;
          printf("\nCo bao nhieu phan tu trong mang: "); scanf("%d",&n);
          printf("\nNhap cac phan tu cua mang vao di: ");
          for(i=0;i<n;i++)
          scanf("%d",&a[i]);
          
          printf("\nKiem tra xem do co phai so nguyen to hay khong? ");
          
          for(i=0;i<n;i++)
              {
               for(j=1;j<=a[i];j++)
                   if(a[i]%j==0) 
                   dem++;  
               if(dem==2) printf("\n%d la so nguyen to.",a[i]);
              }
    getch();      
    }
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<math.h>
    4. main()
    5. {
    6.       int a[200],i,j,n,dem=0;
    7.       printf("\nCo bao nhieu phan tu trong mang: "); scanf("%d",&n);
    8.       printf("\nNhap cac phan tu cua mang vao di: ");
    9.       for(i=0;i<n;i++)
    10.       scanf("%d",&a[i]);
    11.      
    12.       printf("\nKiem tra xem do co phai so nguyen to hay khong? ");
    13.      
    14.       for(i=0;i<n;i++)
    15.           {
    16.            dem=0;
    17.            for(j=2;j<a[i];j++)// thick thi them cái sqrt(a[i])
    18.                if(a[i]%j==0) dem++;  
    19.            if(dem==0&&a[i]>=2) printf("\n%d la so nguyen to.",a[i]);
    20.           }
    21. getch();      
    22. }
    + Quách Việt Kiên
    + Yahoo: Kaka_8x_vn
    + skype: kiencuongno1
    + Gmail: kiencuongno1@gmail.com
    Ai có thể free cho mình 50k thẻ điện thoại ko.

  3. #3
    Ngày gia nhập
    09 2012
    Bài viết
    1

    Trích dẫn Nguyên bản được gửi bởi kienquach Xem bài viết
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<math.h>
    4. main()
    5. {
    6.       int a[200],i,j,n,dem=0;
    7.       printf("\nCo bao nhieu phan tu trong mang: "); scanf("%d",&n);
    8.       printf("\nNhap cac phan tu cua mang vao di: ");
    9.       for(i=0;i<n;i++)
    10.       scanf("%d",&a[i]);
    11.      
    12.       printf("\nKiem tra xem do co phai so nguyen to hay khong? ");
    13.      
    14.       for(i=0;i<n;i++)
    15.           {
    16.            dem=0;
    17.            for(j=2;j<a[i];j++)// thick thi them cái sqrt(a[i])
    18.                if(a[i]%j==0) dem++;  
    19.            if(dem==0&&a[i]>=2) printf("\n%d la so nguyen to.",a[i]);
    20.           }
    21. getch();      
    22. }
    Sao mình nghĩ ở trên đã khai báo dem==0 rồi mà bạn, sao trong vòng for lại cần nữa.?

  4. #4
    Ngày gia nhập
    04 2012
    Bài viết
    42

    Trích dẫn Nguyên bản được gửi bởi conga2012 Xem bài viết
    Sao mình nghĩ ở trên đã khai báo dem==0 rồi mà bạn, sao trong vòng for lại cần nữa.?
    Đó là bước khởi tạo biến đếm. Sau mỗi lần kiểm tra a[i] thì biến đếm vẫn tiếp tục tăng giá trị => thuật toán sẽ sai. Nhưng thuật toán ktnt của bạn tốn khá nhiều chi phí. Bạn có thể đọc trên forum cải tiến từng bước để thuật toán tốt hơn nhé.
    C Code:
    1. while (!silly)
    2.     cout<<"Study everything !";

  5. #5
    Ngày gia nhập
    08 2012
    Bài viết
    6

    Có chút góp ý, thuật toán này không hay lắm. Có 1 thuật toán bạn nên tham khảo:
    -Kiểm tra từ j=2=> sqrt(a[i]): nếu a[i]%j==0 -> return 0; else return 1;
    Còn chỗ sai của bạn, thì mình khuyên tốt nhất là vẽ ra giấy cho dễ hiểu

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

    Mặc định Cho mình hỏi về bài tìm số nguyên tố.

    thanks các bác em cũng đang cần bài này

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

    đây là code của mình, bạn xem thử xem.
    [CODE]
    C Code:
    1. #include<stdio.h>
    2. #include<alloc.h>
    3. int snt(int n)
    4. {
    5. if(n<2) return 0;
    6. if(n==2) return 1;
    7. int i;
    8. i=2;
    9. while((i<=n/2)&&(i>1))
    10. if((n%i)==0)
    11. {
    12. printf("%d khong phai so nguyen to\n",n);break;
    13. }
    14. else i++;
    15. if(i>n/2)
    16. {
    17. printf("%d la so nguyen to \n",n);
    18. return 1;
    19. }
    20. else return 0;
    21. }
    22. void main()
    23. {
    24. int *a,n,i,d;
    25. printf(" nhap kick thuoc day =");
    26. scanf("%d",&n);
    27. a=(int*)malloc(n*sizeof(int));
    28. for(i=0;i<n;i++)
    29. {
    30. printf("nhap a[%d]=",i);
    31. scanf("%d",a+i);
    32. }
    33. d=0;
    34. for(i=0;i<n;i++)
    35. {
    36. if(snt(a[i])==1) d++;
    37. }
    38. printf("co %d so nguyen to\n",d);
    39. }

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