编写一个判断数n是否是素数的函数(c语言)
编写一个判断数n是否是素数的函数(如果是素数,返回为1;否则返回0),然后编写程序通过调用该函数,将整数80分解成两个素数之和。...
编写一个判断数n是否是素数的函数(如果是素数,返回为1;否则返回0),然后编写程序通过调用该函数,将整数80分解成两个素数之和。
展开
展开全部
判断一个数是否素数的函数可以这样写:
int chk(int x)
{
ok=1;
for (i=2;i<x && 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);
}
int chk(int x)
{
ok=1;
for (i=2;i<x && 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);
}
展开全部
判断一个数是否素数的函数可以这样写:
int
chk(int
x)
{
ok=1;
for
(i=2;i<x
&&
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);
}
int
chk(int
x)
{
ok=1;
for
(i=2;i<x
&&
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样.
#include<stdio.h>
// 可逆素数就是该数及其反数均为素数
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<iNum/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;
}
#include<stdio.h>
// 可逆素数就是该数及其反数均为素数
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<iNum/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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
判断一个数是否素数的函数可以这样写:
intchk(intx)
{
ok=1;
for(i=2;i<x&&ok==1;i++)if(x%i==0)ok=0;
returnok;
}
把80撤分为两个素数之和的程序代码可以这样写:
main()
{
inti;
for(i=2;i<=40;i++)if(chk(i)&&chk(80-i))printf("80=%d+%d\n",i,80-i);
}
intchk(intx)
{
ok=1;
for(i=2;i<x&&ok==1;i++)if(x%i==0)ok=0;
returnok;
}
把80撤分为两个素数之和的程序代码可以这样写:
main()
{
inti;
for(i=2;i<=40;i++)if(chk(i)&&chk(80-i))printf("80=%d+%d\n",i,80-i);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询