合力村汨罗:谁能帮我编一个数学题,用C语言编(急)

来源:百度文库 编辑:高考问答 时间:2024/04/24 14:51:12
在所有3位数的素数中,找出这样的数:它的百位数字等于个位和十位数字之和的个位数,如293,101等.
急啊,帮帮忙,谢谢!

我学习和使用的是C++,我试着用C编一下.

本程序在VC6.00中编译通过.

//程序开始
#include<stdio.h>

int IsPrime(int n);

void main()
{
int i;
int a,b,c; //百位,十位,个位
for(i=100;i<1000;i++)
{
if(IsPrime(i))
{
c=i%10;
b=i/10%10;
a=i/100;
if((b+c)%10==a)
printf("%d\n",i); //我没有用过C的输出函数,不正确请改正
}
}
}
/////////////////////////////////////////
//
//函数名:int IsPrime(int n);
//
//目的:判断给定的数是否是素数
//
//参数:n,给定的数
//
//返回值:int型的(C语言中应试没有bool型吧)
//是素数返回1,不是返回0
//
//////////////////////////////////////////
int IsPrime(int n)
{
int i;
for(i=2;i<n;i++)
if(n%i==0)
break;
if(i==n)
return 1;
else
return 0;
}
//程序结束

运行结果:
101
211
239
257
293
349
367
431
523
541
569
587
743
761
853

main(){
int a,b,c;
for(a=1;a++;a<=9)
{
for(b=0;b++;b<=9)
{
for(c=0;c++;c<=9)
{
if(a==(b+c)%10)
printf("d%d%d%\n",a,b,c);
}
}
}
}

int a1[900],b1[900];
for (int i=100,k=0;i<1000;i++,k++)
{
for(j=2;j<i;j++)
{
if(i%j==0)
break;
a[k]=i;
}
}//找素数
int a,b,c,d;
for(int m=0,j=0;m<k;m++)
{
a=a1[m]/100;
b=(a1[m]/100)%10;
c=a1[m]%10;
d=(b+c)%10;
if(a==d)
{
b1[m]=a1[m];
j++;
}
}
//找数符合的
for(i=0;i<j;i++)
{
printf(...)显示
}