c语言求逆素数的函数 c语音求逆序数

C语言逆向超级素数问题!/*楼上的错了?。。≡趺纯赡苤患觳榕际?nbsp;, 偶数(除了2)都不是素数?。。≈患觳槠媸哦?,LS也没判断某位是不是为0*/
#includestdio.h
void main()
{
int m,k,i,m1,k1,i1,m2,k2,i2,s=0;
for(m=201;m=999;m=m+2)
{
k=m/2;
for(i=2;i=k;i++)
if(m%i==0)
break;
if(ik)
{m1=m%100;
if(m110)
continue;/*十位为0...*/
k1=m1/2;
for(i1=2;i1=k1;i1++)
if(m1%i1==0)
break;
if(i1=k1+1)
{ m2=m1%10;
if(m22)
continue;
k2=m2/2;
for(i2=2;i2=k2;i2++)
if(m2%i2==0)
break;
if(i2=k2+1)
s=s+1;
/* printf("%d\n",m);*/
}
}
}
printf("%d\n",s);
}
用c语言编写一个判断某数是否为可逆素数的函数 。#includestdio.h
// 可逆素数就是该数及其反数均为素数
int IsPrime(int i);
int GetFanShu(int n);
int main(int argc, char *argv[])
{
int m, n;
do
{
printf("请输入一个自然数c语言求逆素数的函数:");
scanf("%d", m);
}while(m2);
n = GetFanShu(m);
if( IsPrime(m)IsPrime(n) )
printf("数字%d为可逆素数c语言求逆素数的函数!\n", m);
else
printf("数字%d不是可逆素数!\n", m);
return 0;
}
int IsPrime(int iNum)
{
int k;
for(k=2; kiNum/2; k++)
{
if( iNum%k==0 )
return 0;
}
//printf("数字%d为素数!\n", iNum);
return 1;
}
int GetFanShu(int iNum)
{
int i=0, tmp=iNum;
while(iNum0)
{
i = i*10 + iNum%10;
iNum = iNum/10;
}
//printf("自然数%dc语言求逆素数的函数的反序数为c语言求逆素数的函数:%d\n", tmp, i);
return i;
}
c语言可逆素数#includestdio.h
int isPrimenum(int n)
{
int i;
int flag=0;
for(i=2;in;i++)
if(n%i==0)
{
flag=1;
break;
}
if(flag==1)
return 1;
else
return 0;
}
int rever(int n)
{
int temp=0,m=0;
do{
temp=temp*10+n%10;
n/=10;
}while(n);
printf("temp=%d\n",temp);
m=isPrimenum(temp);
if(!m)
return 0;
else
return 1;
}
int main()
{
int n=0,d=0,m=0;
printf("input n:");
scanf("%d",n);
d=isPrimenum(n);
printf("n=%d\n",n);
m=rever(n);
if(!d!m)
printf("%d is reverprimenum\n",n);
else
printf("不是\n");
return 0;
}
求教C语言大神【可逆素数的判断】#includestdio.h
#includemath.h
main()
{
int i,k,m,b=0;
scanf("%d",i);
if(i==1)
{
printf("no\n");/* 判断1不是素数 */
return;
}
k=sqrt(i);
for(m=2;m=k;m++)
if(i%m==0){
printf("no\n");/* i不是素数 , 输出no */
return;
}
if(m*mi)/* i是素数 */
{
while (i!=0)
{
b=b*10+i%10;
i=i/10;
}
k=sqrt(b);
/* 求i的可逆 */
for(m=2;m=k;m++)
if(b%m==0){
printf("no\n");/* i的可逆不是素数,no */
return;
}
if(m*mb)
printf("yes\n");/* i的可逆也是素数,yes */
}
}
尽量按照原有的风格来改 。主要是多添加了几个return,还有改了2处if(i*im)改为if(m*mi) 。第一个else如果不加{}则只对else后面一行有效 。我加了return后,干脆去掉第一个else 。
问:不加return有什么错误?
答:判断为"no"后 , 不一定m*m不一定就大于i 。
全部都在main中搞定,不太好,好的风格应该有缩进,并且科学地分多个函数来实现,就像zls4r那样 。

推荐阅读