8项素数和环

#include<stdio.h>

#include<math.h>

void main()  

{

int t,k,s,x,g[10],f[10],b[18];

long a,y;   

for(k=1;k<=15;k++)

b[k]=0;   

g[9]=1;s=0;

b[3]=b[5]=b[7]=b[11]=b[13]=1;        // 5个奇素数标记      

printf("8项素数和环:\n");     

for(a=12345678;a<=18765432;a+=9)     // 步长为9枚举8位数       

{

t=0;y=a;       

for(k=0;k<=9;k++)

f[k]=0;      

for(k=1;k<=8;k++)         

{

x=y%10;f[x]++;   //  分离a的8个数字,用f数组统计x的个数            

g[9-k]=x;            //  用g数组记录a的第k位数字     

y=y/10;                             

}       

for(k=1;k<=8;k++)                       

if(f[k]!=1 || b[g[k]+g[k+1]]!=1)

t=1;       

if(t==1) continue;     //  有相同数字或相邻和非素,返回         

s++;                                 

printf("%d: 1",s);    //  输出8项素数和环        

for(k=2;k<=8;k++)      

printf(",%d",g[k]);     

printf("\n");      

}

} 

 

转载于:https://www.cnblogs.com/liao-pxsoftware15/p/8111762.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值