01/10/2018, 17:16
Cho trước mảng A, số lượng phần tử n. Tách các số nguyên tố có trong mảng A vào mảng B
moi người cho e hỏi tại sao khi chạy chương trình lại ko xuất ra kết quả ạ
#include<stdio.h>
int snt(int n)
{
int d,i;
for(i =1;i<=n;i++)
{
if(n%i==0)
d=d+1;
}
if(d==2)
return 1;
else
return 0;
}
void main()
{
int n,i,A[100],B[100];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&A[i]);
int nB=0;
for(i=0;i<n;i++)
{
if(snt(A[i])==1)
{
B[nB]=A[i];
nB++;
}
}
for(i=0;i<nB;i++)
printf("%d",B[i]);
}
Bài liên quan
Vì nó chẳng tách được số nguyên tố nào ra cả:
d
=> chưa chắcd = 0
đâu.snt
viết vòng lặpfor
khá dư thừa. Nên choi
chạy từ2
đếnn/2
là đủ.