兄弟,给你看看我的代码,自己查百度写的,有什么问题的话欢迎提出!
#include
#include
void main()
{
int n;// 接收输入的正整数
int i;
int j;//j=0标志n是质数,j=1标志n是合数
printf("请输入一个正整数!\n");
scanf("%d",&n);
while(n<0)
{
printf("请输入一个正整数!\n");
scanf("%d",&n);
}
if (n>=0)
{
if (n==1||n==0)
{
printf("%d既不是质数也不是合数!\n",n);
}
else if(n==2 ||n==3)
{
printf("%d是质数!\n",n);
}
else
{
for (i=2;i<=(int)sqrt(n);i++)
{
if (n%i==0)
{
printf("%d是合数!\n",n);
printf("%d的最小因子i=%d!\n",n,i,n);
j=1;
break;
}
else
{
j=0;
}
}
if (0==j)
{
printf("%d是质数!\n",n);
}
}
}
}
#include
#include
int fun(long m)
{int n=1,k1,k;
k1=sqrt(m);
for(k=2;k<=k1;k++)
if(m%k==0){n=0;break;}
return(n);
}
main()
{
long i;
scanf("%d",&i);
if(fun(i)) printf("YES 素数是:%5ld\n",i);
else printf("NO\n");
}