编写一个判断数n是否是素数的函数(c语言)

2025-01-24 19:26:34
推荐回答(4个)
回答1:

判断一个数是否素数的函数可以这样写:

int chk(int x)
{
ok=1;
for (i=2;ireturn ok;
}

把80撤分为两个素数之和的程序代码可以这样写:

main()
{
int i;
for (i=2;i<=40;i++) if (chk(i) && chk(80-i)) printf("80=%d+%d\n",i,80-i);
}

回答2:

判断一个数是否素数的函数可以这样写:
int
chk(int
x)
{
ok=1;
for
(i=2;i&&
ok==1;i++)
if
(x%i==0)
ok=0;
return
ok;
}
把80撤分为两个素数之和的程序代码可以这样写:
main()
{
int
i;
for
(i=2;i<=40;i++)
if
(chk(i)
&&
chk(80-i))
printf("80=%d+%d\n",i,80-i);
}

回答3:

这样.

#include

// 可逆素数就是该数及其反数均为素数
int IsPrime(int i);
int GetFanShu(int n);

int main(int argc, char *argv[])
{
int m, n;
do
{
printf("请输入一个自然数:");
scanf("%d", &m);
}while(m<2);

n = GetFanShu(m);
if( IsPrime(m) && IsPrime(n) )
printf("数字%d为可逆素数!\n", m);
else
printf("数字%d不是可逆素数!\n", m);

return 0;
}

int IsPrime(int iNum)
{
int k;
for(k=2; k{
if( iNum%k==0 )
return 0;
}

//printf("数字%d为素数!\n", iNum);
return 1;
}

int GetFanShu(int iNum)
{
int i=0, tmp=iNum;
while(iNum>0)
{
i = i*10 + iNum%10;
iNum = iNum/10;
}

//printf("自然数%d的反序数为:%d\n", tmp, i);

return i;
}

回答4:

判断一个数是否素数的函数可以这样写:
intchk(intx)
{
ok=1;
for(i=2;ireturnok;
}
把80撤分为两个素数之和的程序代码可以这样写:
main()
{
inti;
for(i=2;i<=40;i++)if(chk(i)&&chk(80-i))printf("80=%d+%d\n",i,80-i);
}