关于素数的问题

来源:互联网 发布:手机淘宝如何分享宝贝 编辑:程序博客网 时间:2024/06/06 02:43

第一 求素数


一个数字循环

一个求因子循环

#include <stdio.h>


int main()


{
int i;
int j;
int flag;

for(i = 4;i <= 1000;i++)
{

   flag=1;
   for(j = 2;j <= i/2;j++)
   {


   if(i%j==0)
  {
  flag=0;
      break;
      }
      }
     
      if(flag==1)
      printf("%d  ",i);
     
    }


return 0;
}


第二  素数可以分成两个素数之和

将求素数的程序改成函数

利用函数的返回值

接着输出

int main()


{
int i;
int j;

for(i = 4;i <= 2000;i+=2)
{

        for(j = 2;j <i;j++)
        {
        if(flag(j)==1&&flag(i-j)==1)
        
            {
            printf("%d = %d + %d \t",i,j,i-j);
            break;
}        
       
}
    }


第三  可逆素数

第一 用一个函数求出素数

第二用一个函数求出这个素数的逆序数,再调用函数判断是否是素数

int main()


{
int num;

for(num =  1000 ;num <= 10000;num++)
{
if(a(num)==1&&b(num)==1)
printf("%d\t",num);
}


return 0;
}

0 0
原创粉丝点击