龙岗区科技创新十三五:C语言编程题10

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 03:52:16
编写函数int fun(int a,int b),在[a,b]范围内统计满足下面条件的数的个数.条件:该数是素数,且该数逆序后形成的数也是素数.例如,在[100,150]范围内101 107 113 131 149 满足条件,下面程序运行时输入100 150,输出:num=5. */

#include<math.h>
int fun(int a,int b)
{
}
main()
{int num,a,b;
scanf("%d%d",&a,&b);
num=fun(a,b);
printf("num=%d\n",num);
}

#include<stdio.h>
#include<math.h>
int fun(int a,int b)
{
int i,j,k,n=0,bw,sw,gw,xs;
for(i=a;i<b;i++)
{ for(j=2;j<i;j++)
if(i%j==0) break;
if(i==j)
{
bw=i/100;
sw=(i-bw*100)/10;
gw=i-i/10*10;
xs=gw*100+sw*10+bw;

for(k=2;k<xs;k++)
if(xs%k==0) break;
if(xs==k) n++;}
}

return n;
}

main()
{int num,a,b;
scanf("%d%d",&a,&b);
num=fun(a,b);
printf("num=%d\n",num);
}

int issushu(int i)
{int k;
for (k=2;k<=i/2;k++)
if (i%k==0)
return 0;
if (k>=i/2)
return 1;
}
int reverse(int num)
{
int i=0,pos=0,j=0,k=0,a[10]={0,0,0,0,0,0,0,0,0,0};
while(num>=10)
{
j=num%10;
num=num/10;
a[i++]=j;
pos++;
}
a[i]=num;
i=0;
while(pos>=0)
{
pos--;
k=10*k+a[i];
i++;

}
return(k);
}

int fun(a,b)
{
int c,m[10000]={0},t=0,k=0,l=0;

for(c=a;c<=b;c++)
if (issushu(c))
{
m[t]=c;
t++;
}
for (c=0;c<t;c++)
{
l=reverse(m[c]);
if (issushu(l))
{

k++;
}
}
return(k);
}

main()
{int num,a,b;
scanf("%d%d",&a,&b);
num=fun(a,b);
printf("num=%d\n",num);
}

做个记号,晚上回来写!

要编写fun函数啊

fun 函数的内容都没有,是个空函数啊