Chủ đề: Kiểm tra số nguyên tố
-
19-01-2009, 04:46 PM #1
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Kiểm tra số nguyên tố
đề: nhập số nguyên, kiểm tra xem số đó có phải là số nguyên tố hay ko ? nếu ko thì in ra số nguyên nhỏ hơn đứng gần nó.
code của em:
Mã:#include <stdio.h> #include <conio.h> #include <math.h> void NGT(int ia,int &n); void NGT(int ia,int &n) { for(int i=2;i<sqrt(ia);i++) { if(ia%i==0) { n=0; break; } else { n=1; break; } } } void main() { clrscr(); int ia,n; printf(" nhap so nguyen: "); scanf("%d",&ia); NGT(ia,n); if(n==0) printf(" %d khong phai la so nguyen to. ",ia); for(int y=ia-1;y>2;--y) { NGT(y,n); if(n==0); printf(" so nguyen to gan nhat la: %d",y); break; } if(n==1) printf(" %d la so nguyen to. ",ia ); getch(); }
Còn nhập 13 thì nó nói 12 là số nguyên tố.
ThankView more random threads:
- Lỗi .exe has stoped working trên c-free
- Hỏi về Lỗi trong Toán tử gán = của lớp số phức Complex
- bài tập tìm số chữ số
- vẽ cung tròn trong C
- Cộng khoảng trắng trong chuỗi ký tự. Mấy a ui xem dùm e sai chỗ nào với
- Code tìm điểm lồi
- Xin ý hướng làm bài đọc và tìm dữ liệu trong file.
- Fix lỗi giùm em với ạ
- Ghi file csv trong c++ thành các hàng , cột
- Lỗi trong hàm tìm kiếm nhị phân danh sách sinh viên
-
19-01-2009, 06:31 PM #2
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Chú ý các phần có đánh dấu nhé bạn, chúc bạn học tốt!
Mã:#include <stdio.h>#include <conio.h>#include <math.h>void NGT(int ia,int &n);void NGT(int ia,int &n) ////////////{ for(int i=2;i<=sqrt(ia);i++) { if(ia%i==0) { n=0; return; } } n=1;}void main(){ clrscr(); int ia,n; printf(" nhap so nguyen: "); scanf("%d",&ia); NGT(ia,n); if(n==0) printf(" %d khong phai la so nguyen to. ",ia); for(int y=ia-1;y>2;--y) { NGT(y,n); if(n==1) //////////// printf(" so nguyen to gan nhat la: %d",y); break; } if(n==1) printf(" %d la so nguyen to. ",ia ); getch();}
-
20-01-2009, 03:59 PM #3
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Cái này cũng không khó lém !
In tất cả số nguyên tố nhỏ hơn số nhập vào từ bàn phím
Mã:Code #include <stdio.h> #include <conio.h> #include <math.h> int ktnt(int n) { int k=1; for(int i=2;i<=sqrt(n);i++) { if(n%i==0) { k=0;break; } } return k; } main() { int n; printf(" Nhap n = "); scanf("%d",&n); for(int i=2;i<n;i++) { if(ktnt(i)==1) printf("%d\t",i); } getch(); }
-
20-01-2009, 04:58 PM #4
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Uh, dễ. Vậy mà mấy cái code trên đều thiếu chặt chẽ. Xem qua code này nhé:
Mã:#include <stdio.h>#include <math.h> int Ktnt(int n){ if(n<1) return 0; int t=sqrt(n); for (int i=2; i<=t; i++) if (n%i==0) return 0; return 1;} int main(){ if (Ktnt(9)) printf("OK"); else printf("not OK"); return 0;}
-
20-01-2009, 05:54 PM #5
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Uh, dễ. Vậy mà mấy cái code trên đều thiếu chặt chẽ. Xem qua code này nhé:
Mã:C Code: #include <stdio.h> #include <math.h> int Ktnt(int n) { if(n<1) return 0; int t=sqrt(n); for (int i=2; i<=t; i++) if (n%i==0) return 0; return 1; } int main() { if (Ktnt(9)) printf("OK"); else printf("not OK"); return 0; }
Còn nữa,
if (Ktnt(9)) printf("OK");
Còn bài của mình là in ra tất cả các số nguyên tố nhỏ hơn n nên trong hàm Ktnt(int n) không cần xét trường hợp n<2 !!!
-
20-01-2009, 06:04 PM #6
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi trubavuong
-
20-01-2009, 06:12 PM #7
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Chẳng lẽ mình lại không đoán ra sao? Thế nhưng mình thấy không ăn khớp. Đáng lẽ để số tự nhiên bất kỳ thì sẽ hay hơn. Còn nếu bạn ấy muốn thay số vào để thử thì tốt nhất nên tự thử, còn đã shared cho anh em thì nên viết tổng quát cho hợp lý hơn.
Chứ còn nếu muốn thử thuật giải thì cũng chẳng cần phải làm hàm con thế để làm gì.
Còn bạn cũng đừng cho mình là tiên tri biết được tôi có hiểu thật hay không!
-
21-01-2009, 10:04 AM #8
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Rồi nó khác 1 vậy sửa điều kiện nhỏ hơn 2, cảm ơn.
Tôi viết cái hàm kiểm tra số nguên tố để cho các cậu xem chứ tôi làm bài gì mà cậu vặn vẹo cái hàm main(), cái đó nếu cậu vặn thì tôi cũng chịu.
-
21-01-2009, 02:48 PM #9
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
ủa sao die vậy !!!
@Reply: Die tại host nó die chớ, mà không nói chuyện ở đây đc đâu, thành spam đấy. :d bài này đành phải xóa. -QH-
-
18-02-2009, 06:26 PM #10
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Lỗi thế nào được, chạy thử chưa hay đoán mò ???????
khi đề cập đến đội hình MU, không thể ko nói tới một trong các câu lạc bộ bóng đá huyền thoại và với tầm ảnh hưởng nhất trong lịch sử của môn thể thao vua. Với hơn 1 thế kỷ còn đó và phát triển,...
Đội hình MU - Manchester United:...