Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 8 của 8
  1. #1

    Nhận biết số nguyên tố trong C

    Mình làm cách này khác cách của thầy giáo. Nhưng có 1 vấn đề rất lạ là nhập N từ 1-51 thì chạy đúng. Từ 53 trở đi thì số nào cũng báo không phải số nguyên tố. Mong mọi người giúp đỡ!!! Mình chân thành cám ơn!


    #include <stdio.h>
    int main()
    {
    int N, A, a;
    printf("
    nhap N");
    scanf("%d",&N);
    a=A=1;
    if(N>2)
    {
    while(a<N-1)
    {
    if(A!=0)
    {
    A=A*(N%(a+1));
    }
    a=a+1;
    }
    if(A!=0)
    {
    printf("
    N la so nguyen to");
    }
    else
    {
    printf("
    N khong phai la so nguyen to");
    }
    }
    else
    {
    printf("
    N la so nguyen to");
    }
    }

  2. #2
    Định lí Wilson phải ko [IMG]images/smilies/smile.png[/IMG]
    Thôi bỏ đi nhé ^^

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi prog10
    Định lí Wilson phải ko [IMG]images/smilies/smile.png[/IMG]
    Thôi bỏ đi nhé ^^
    Không bạn, mình tự nghĩ ra thôi, sao phải bỏ, bạn nói kĩ hơn đi?

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi doquanghuy91
    Không bạn, mình tự nghĩ ra thôi, sao phải bỏ, bạn nói kĩ hơn đi?
    Vì nó chậm hơn nhiều so với chia thử [IMG]images/smilies/smile.png[/IMG]

  5. #5
    Mình vẫn dùng chia thử lần lượt mà

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi doquanghuy91
    Mình vẫn dùng chia thử lần lượt mà
    Chia tới căn(n) là đủ để khẳng định n là số nguyên tố rồi bạn ^^
    Vì vậy nó nhanh hơn.

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    A=A*(N%(a+1)); sửa thành A=N%(a+1);
    Chia thử thì chỉ cần kiểm tra dư = không thôi. Nhân gộp nhiều lần thế thì vượt quá giwois hạn kiểu int

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Xem code bạn viết ko hiểu gì hj =D

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •