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ố 19 kết quả

Đề tài: Xác định số nguyên tố

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

    Mặc định Xác định số nguyên tố

    Đề : Nhập vào số nguyên n, cho biết n có phải là số nguyên tố không
    Bài giải của mình:
    C Code:
    1. #include<stdio.h>
    2. void main()
    3. {
    4. int so,i,k;
    5. printf("\nNhap vao so nguyen = ");
    6. scanf("%d",&so);
    7. k=1;
    8. for (i=2;i<so;i++)
    9. {
    10. if (so%i==0) k=0;
    11. if(k==0)
    12. printf("%d khong phai la so nguyen to",so);
    13. else printf("%d la so nguyen to",so);
    14. }
    15. getch();
    16. }
    Mình không biết chương trình lỗi ở đâu mong các bạn sửa lỗi giúp cho mình.
    Đã được chỉnh sửa lần cuối bởi Forlorn_hope : 16-08-2008 lúc 08:33 PM.

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

    thứ nhất bạn ko được đặt câu lệnh if(k==0) ,printf("%d khong phai la so nguyen to",so); vào trong vòng lặp , thứ 2 bạn sử dụng lệnh getch() mà không khai báo thư viện conio.h như vậy có thể chỉnh bài của bạn như sau :

    #include<stdio.h>
    #include<conio.h>

    int main()
    {
    int so,i,k;
    printf("\nNhap vao so nguyen = ");
    scanf("%d",&so);
    k=1;
    for (i=2;i<so;i++)

    if (so%i==0)
    k=0;
    if(k==0)
    printf("%d khong phai la so nguyen to",so);
    else printf("%d la so nguyen to",so);

    getch();
    return 0;
    }
    Em có thấy nắng vàng kỷ niệm
    Hạ ngồi ru thanh thản những môi cười
    Thuở ngồi ngóng tay choàng tay nỗi nhớ
    Vin tay vào tháng năm chơi vơi...

  3. #3
    Ngày gia nhập
    12 2007
    Bài viết
    54

    Bài trên đang còn chỗ sai là : 1 vẫn là số nguyên tố :
    int kt_ngto (int n)
    { if (n<2)
    return 0;
    for (int i=2;i<=sqrt(n);i++)
    { if ( n%i ==0)
    return 0;
    }
    return 1;
    }
    Muốn sử dụng hàm này thì thêm thư viện math.h
    Rất mong được mọi người giúp đỡ :

    Kiến thức mình biết chỉ là hạt cát trên sa mạc

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

    mình đã thử làm theo cách của bạn cafelanh thì vẫn thấy lỗi xuất hiện. Mong các bạn góp ý.

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

    Tất cả các bạn chú ý cho code vào thẻ tag code như này nhé:
    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    
    int main()
    {
         int so,i,k=1,t;
         printf("\nNhap vao so nguyen = ");
         scanf("%d",&so);
         if (so<=0) 
         {
              printf("%d khong phai so nguyen to.");
              getch();
              return 0;
         }
         t=(int)sqrt(so);
         for (i=2;i<=t;i++)
              if (so%i==0)
                   k=0;
         if(k==0)
              printf("%d khong phai la so nguyen to",so);
         else 
              printf("%d la so nguyen to",so);
         getch();
    return 0;
    }
    Căn bản bài của bạn sau khi cafelanh sửa khồng còn sai nữa, mình chỉ thêm một chút cho đúng hơn, TH so=1,so=2 đều đúng.

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

    Mặc định Xác định số nguyên tố

    Tui bó tay đó , số 1 làm sao có thể là số nguyên tố được
    Rất mong được mọi người giúp đỡ :

    Kiến thức mình biết chỉ là hạt cát trên sa mạc

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

    Ok mình xem lại lý thuyết rồi, sorry 1 không phải số nguyên tố vậy sửa điều kiện một chút:
    Code:
    if (so<=1) 
         {
              printf("%d khong phai so nguyen to.");
              getch();
              return 0;
         }

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

    Bạn xem ở đây nhé
    http://vi.wikipedia.org/wiki/S%E1%BB...AAn_t%E1%BB%91
    Các bạn xem hình này:

    Hình minh họa cho thấy thuật toán đơn giản để tìm số nguyên tố và các bội số
    Các số tô màu giống nhau là cùng một họ mà dẫn đầu (đậm hơn) sẽ là số nguyên tố.

    - Từ hình có thể suy ra các số >1 chia hết cho 2 or 3 or 5 or 7 không phải số nguyên tố (ngoại trừ 2,3,5,7), còn lại là số nguyên tố.
    Đã được chỉnh sửa lần cuối bởi QuangHoang : 05-08-2008 lúc 01:28 PM.

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

    "số 1 là số nguyên tố" ai nói zay,bó tay.kiến thức cơ bản.định nghĩa snt" Số nguyên tố là số nguyên dương lớn hơn 1, chỉ chia hết cho 1 và chính nó "
    HỌC HỌC NỮA HỌC MÃI.
    YÊU LÀM CHI CHO ĐỜI THÊM KHỔ.
    HỌC CHI NHIỀU XÁCH RỔ ĂN XIN.

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

    Từ hình có thể suy ra các số >1 chia hết cho 2 or 3 or 5 or 7 không phải số nguyên tố (ngoại trừ 2,3,5,7), còn lại là số nguyên tố.
    - Chia hết cho 1 trong các số đó mà ko phải là nó thì đương nhiên ko fai là số nguyên tố rồi (Cái này quá hiển nhiên)
    - Như vậy theo bạn thì số nguyên tố là các số không chia hết cho 2,3,5,7 ah?Không chịu tìm hiểu gì cả.Sai lầm quá lớn.Mình hỏi bạn 143 không phải là số nguyên tố nhưng lại không chia hết cho các số kia?Ngoài ra còn rất nhiều số khác không chia hết cho 2,3,5,7 mà lại không phải là số nguyên tố : 121,169,221...Nếu mà cứ mang cái lý thuyết đó trong đầu thì thật là nguy hiểm.

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