按照要求,设计和补充代码(从/ Program / 到 /********** End **********/ 之间)
题目:求100~999之间的回文素数之和。
说明:
(1)回文素数是一个素数,且从左向右和从右向左读是相同的,如:101,131,181是回文素数;
(2)要求使用循环实现。
---------------------------------------------------------------------*/
#include <stdio.h>
void PRINT(long s)
{
FILE *out;
printf("s=%ld\n",s);
if((out=fopen("RESULT.DAT","w+"))!=NULL)
fprintf(out,"s=%ld",s);
fclose(out);
}
int main()
{
int n,i,a,b;
long s=0;
/**********Program**********/
// 遍历100到999之间的每个数
for (n = 100; n < 1000; n++)
{
for (i = 2; i < n; i++)
{
mark = 1; //mark默认1
if (n % i == 0)
{
mark = 0; //如果不符合素数要求,则把mark置为0
break; //并跳出循环
}
}
if (mark == 1) //判断是否素数
{
if (n / 100 == 0) //判断是否两位数
{
if (n / 10 == n % 10) //判断十位和各位是否相同
{
s+=n;
}
}
else
{
if (n / 100 == n % 10) //判断百位和个位是否相同
{
s+=n;
}
}
}
}
/********** End **********/
PRINT(s);
return 0;
}