素数和回文数

来源:互联网 发布:如何成为淘宝摄影师 编辑:程序博客网 时间:2024/06/06 19:44

素数就是一个因子只有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;
}

这个代码是通过回文数中的素数表示的,也可以把程序的顺序大概调整一下,变成先表示素数再表示回文数也是可以的。

原创粉丝点击