素数就是一个因子只有1和它本身的数,例如2为最小的素数。
在Linux语言中:
#include <stdio.h>
int main()
{
int i,j;
for(i = 2;i <=100;i++)
{
for(j = 2;j < i;j++)
{
if(i % j == 0)
{
break;
}
}
if(i == j)
{
printf("%3d",i);
}
}
printf("\n");
return 0;
}
第二个for里面,中间那个也可以改成 j < i / 2 或者 j < sqrt(i) ,但需要在头文件那儿加一句#include<math.h>,然后在if哪儿就改成 j>= i / 2或 j >=sqrt(i)。
回文数是指一个数正着看和反着看是一样的。
在Linux语言中:
#include <stdio.h>
int main()
{
int x,k;
for(k = 0;k <= 256;k++)
{
x = k * k;
int sum = 0,m;
m = x;
while(m)
{
sum = sum * 10 + m % 10;
m /= 10;
}
if(sum == x)
{
printf("%4d%6d\n",k,x);
}
}
return 0;
}
还有一个就是回文素数,他就是回文数和素数的结合体,回文数中的素数,也或者是素数中的回文数。
在Linux中:
#include<stdio.h>
int main()
{
int x;
for(x = 2;x <= 1000;x++)
{
int a = 0,m;
m = x;
while(m)
{
a = a * 10 + m % 10;
m /= 10;
}
if(a == x)
{
int b;
for(b = 2;b < x;b++)
{
if(x % b == 0)
{
break;
}
}
if(x == b)
{
printf("%6d\n",x);
}
}
}
return 0;
}
这个代码是通过回文数中的素数表示的,也可以把程序的顺序大概调整一下,变成先表示素数再表示回文数也是可以的。