Trang 1 trên tổng số 3 123 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 24 kết quả

Đề tài: 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

  1. #1
    Ngày gia nhập
    10 2010
    Bài viết
    5

    Mặc định 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

    cài đặt thuật toán sàng nguyên tố để liệt kê các số nguyên tố trong khoảng từ 2 -> 480.000
    bác nào pro cho em code trên được không ạ.
    Đã được chỉnh sửa lần cuối bởi ngocdung_088 : 05-11-2010 lúc 07:30 PM.

  2. #2
    Ngày gia nhập
    09 2010
    Nơi ở
    Hà Nội
    Bài viết
    381

    C Code:
    1. int ktSNT (const int a)
    2. {
    3.     int i = 0;
    4.     for(i = 2; i <= (int)sqrt(a); i++)
    5.     {
    6.         if( a % i == 0)
    7.         {
    8.             return 0;
    9.         }
    10.     }
    11.     return 1;
    12. }
    hàm kiểm tra số nguyên tố
    C Code:
    1. for(i = 2; i <= N; i++)
    2.     {
    3.         if(ktSNT(i) == 1)
    4.         {
    5.             snt[k] = i;
    6.             k++;
    7.         }
    8.     }
    đây là thuật toán liệt kê các số nguyên tố từ 2 dến n.

    skype: hvphu2010
    Yahoo: hvphu2010
    Sdt: 0129 609 4567

  3. #3
    Ngày gia nhập
    09 2010
    Nơi ở
    Hà Nội
    Bài viết
    86

    Làm thế thì lâu lắm

    Code:
    //Chuong trinh tim so nguyen to <1000;
    #include<stdio.h>
    #include<conio.h>
    int main()
    {
          long a[1000];
          long i,j;
          a[2]=1;
          for (i=3;i<1000;i++) {
                                a[i]=1;
                                }
          for (i=2;i<500;i++){
                              for (j=2;j<500;j++){
                                                  a[i*j]=0;
                                                  }
                              }                    
          for (i=2;i<1000;i++){
                               if (a[i]) {
                                          printf("%i la mot so nguyen to\n",i);
                                          }
                               }                      
          getch();
        return 1;  
    }
    Thuật toán ở đây là giả sử i là một số thì 2i, 3i,... ji se không là một số nguyên tố
    K55CB PRO

  4. #4
    Ngày gia nhập
    10 2010
    Bài viết
    5

    cám ơn bạn đã share
    nhưng đây không phải là code theo thuật toán sàng tố nguyên tố
    code của nó mình viết như thế này:
    Code:
    main ()
    { 
         int a[],i,j;
         for (i=1;i<=n;i++)
             a[i]=0;
         for (i=2;i<=n;i++)
             if (a[i]==0)
                {
                         printf("%d",i);
                         for (j=2;i*j<=n;j++)
                             a[i*j]=1;
                             }
    }
    nhưng với n<=40000 thì nó vẫn chạy tốt, còn với n >40000 thì chịu. mà giờ phải viết n=480000 chịu luôn

  5. #5
    Ngày gia nhập
    09 2010
    Nơi ở
    Hà Nội
    Bài viết
    86

    Ồ cảm ơn bạn mình mới chỉ tìm được thuật toán.
    Bạn giỏi quá
    K55CB PRO

  6. #6
    Ngày gia nhập
    09 2010
    Nơi ở
    Hà Nội
    Bài viết
    381

    Mặc định 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

    bạn dùng la
    C Code:
    1. long long int
    đi là ok ngay mà!

    skype: hvphu2010
    Yahoo: hvphu2010
    Sdt: 0129 609 4567

  7. #7
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Mình thấy code của kitti là tốt nhất trong số này, mình phê chuẩn code này. Rõ ràng, sáng sủa hơn cả. Bác quyet18it có cần làm thử nghiệm xem cái nào xử lý lâu hơn không?
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  8. #8
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Đúng rồi, cách của kitti thì hay được sử dụng nhất.

    Nhưng trong 1 vài trường hợp, chủ topic có thể tham khảo sàn Eratosthene.

  9. #9
    Ngày gia nhập
    09 2010
    Nơi ở
    Hà Nội
    Bài viết
    86

    Trích dẫn Nguyên bản được gửi bởi Kevin Hoang Xem bài viết
    Mình thấy code của kitti là tốt nhất trong số này, mình phê chuẩn code này. Rõ ràng, sáng sủa hơn cả. Bác quyet18it có cần làm thử nghiệm xem cái nào xử lý lâu hơn không?
    huhu thiên vị rồi code của mình vừa gọn vừa đẹp . Mọi người thử nhìn kĩ lại xem.
    K55CB PRO

  10. #10
    Ngày gia nhập
    10 2010
    Bài viết
    5

    Trích dẫn Nguyên bản được gửi bởi kitti Xem bài viết
    bạn dùng la
    C Code:
    1. long long int
    đi là ok ngay mà!
    không được bạn ơi!! Nó không chạy luôn
    Trích dẫn Nguyên bản được gửi bởi Kevin Hoang Xem bài viết
    Mình thấy code của kitti là tốt nhất trong số này, mình phê chuẩn code này. Rõ ràng, sáng sủa hơn cả. Bác quyet18it có cần làm thử nghiệm xem cái nào xử lý lâu hơn không?
    mình muốn tìm code cho thuật toán sàng số nguyên tố chứ có phải là so sánh cái nào hơn cái nào đâu

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

  1. Tối ưu Code nhập số nguyên dương rồi đảo ngược số nguyên dương vừa nhập trong C
    Gửi bởi tyrant trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 12
    Bài viết cuối: 21-06-2018, 06:19 PM
  2. 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
  3. Mảng trên C code thuật toán tìm số nguyên tố trên ma trận
    Gửi bởi nmebe trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 10
    Bài viết cuối: 25-04-2012, 11:39 AM
  4. Bài tập C liệt kê số nguyên tố trong khoảng từ 2 đến 480000
    Gửi bởi coichettrove_teo trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 20
    Bài viết cuối: 16-01-2011, 03:20 AM
  5. Code in ra số nguyên tố và số chính phương của một dãy trên C. Giúp mình kiểm tra code?
    Gửi bởi lavender trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 7
    Bài viết cuối: 07-06-2009, 01:52 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