C言語判定素数
773 ワード
: 1 , 。
17 , 2~16 。 m , m 2~m-1 , , m
:m 2~m-1 , 2~√m 。
#include
#include
int main(){
int m,i,k,flag;
printf("set m:");
scanf("%d",&m);
k=sqrt(m);
for(i=2;i<=k;i++){
if(m%i==0){
flag = 0;
break;
}else
flag = 1;
}
if(flag==0||m==1){
printf("no");
}else{
printf("yes");
}
return 0;
}
どうして1は素数ではありませんか.
答え:整数は1つの性質があって、分解の質の因数の唯一性で、つまり1より大きい整数を質の因数を分解して、彼の形式は唯一の例えば12=2です²*3 18=2*3²一方、1が素数であれば、分解の形式は唯一であり、いくつかの1を乗算することができるからである.だから規定1は素数ではありません