我的想法是找两位数和三位数的从左向右、从右向左读一样的数,判断他们是否为素数,是就输出,最后再输出一个2,3,5,7 但是最后输出只能输出2,3,5,7 代码如下:
#include
#include
int main()
{int i,j,a,b,c;
for(i=10;i<1000;i++)
a=i/100;
b=(i-a*100)/10;
c=i-a*100-b*10;
if((a==c)&&(a!=0))
{for(j=2;j<=sqrt(i);j++)
if(i%j==0)
break;
printf("%d ",i);
}
else if((a==0)&&(b==c)&&(b!=0))
{for(j=2;j<=sqrt(i);j++)
if(i%j==0)
break;
printf("%d ",i);}
printf("2,3,5,7");
}
#include <stdio.h>
#include <math.h>
int main()
{
int i, j, a, b, c;
for (i = 10; i < 1000; i++)
{
a = i / 100;
b = (i - a * 100) / 10;
c = i % 10;
if ((a == c) && (a != 0))
{
for (j = 2; j <= sqrt(i); j++)
if (i % j == 0)
break;
if (j > sqrt(i)) // 判断是否为素数
printf("%d ", i);
}
else if ((a == 0) && (b == c) && (b != 0))
{
for (j = 2; j <= sqrt(i); j++)
if (i % j == 0)
break;
if (j > sqrt(i)) // 判断是否为素数
printf("%d ", i);
}
}
printf("2,3,5,7");
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:分析:
#include <stdio.h>
int main()
{
int a[20] = {0,1},i;
//用一维数组存储斐波拉契数列,只为前两个数字赋值
for(i=2; i<20 ;i++)
a[i] = a[i-1] + a[i-2];//实现特殊赋值
for(i=0 ;i<20; i++)
printf("%5d",a[i]);//全部输出
return 0;
}