编一个函数fun,功能是判断一个整数m是否为素数,若是返回1,否则返回0,在main()函数中,若

2025-04-07 17:10:37
推荐回答(2个)
回答1:

兄弟,给你看看我的代码,自己查百度写的,有什么问题的话欢迎提出!

#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);
}
}
}
}

回答2:

#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");
}