#include <stdio.h>
char KTNT(int n)
{
if(n<2)
return 0;
else
{
int u;
for(int i=0;i<=n;i++)
if(n%i==0)
u++;
if(u==2)
return 1;
else
return 0;
}
}
void InSoNguyenTo(int n,int a[50])
{
for(int i=0;i<n;i++)
if (KTNT(a[i])==1)
printf("So nguyen to la : %d",a[i]);
}
void NhapMang(int &n, int a[50])
{
do
{
printf("nhap vao so phan tu : ");
scanf("%d",&n);
}while(!(n>=3&&n<=50));
printf("nhap vao so thuc cho %d phan tu :",n);
for(int i=0;i<n;i++)
do
{
printf("a[%d] : ",i);
scanf("%d",&a[i]);
}while(!(a[i]>0));
}
void XuatMang(int &n, int a[50])
{
printf("gia tri ban da nhap la : ");
for(int i=0;i<n;i++)
printf("\t%d",a[i]);
}
int main()
{
int a[50];
int n;
NhapMang(n,a);
XuatMang(n,a);
InSoNguyenTo(n,a);
return 0;
}
Cần giúp đỡ tìm chỗ sai trong kiểm tra số nguyên tố
Bạn thử chạy bằng tay coi kết quả ntn?
Bạn hiểu ý tôi chứ?
2 Likes
Bị lỗi chia cho 0 rồi bạn. Vòng lặp for i chạy từ 0 mà bạn lại ktra n%i ==0. Mình thấy kiểm tra số nguyên tố có rất nhiều hướng dẫn trên mạng rất hay bạn nên search gg và tham khảo.
2 Likes

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?