博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Project Euler 35 Circular primes
阅读量:5954 次
发布时间:2019-06-19

本文共 1247 字,大约阅读时间需要 4 分钟。


题意:197被称为圆周素数,因为将它逐位旋转所得到的数:197/971和719都是素数。小于100的圆周素数有十三个:2、3、5、7、11、13、17、31、37、71、73、79和97。小于一百万的圆周素数有多少个?


/*************************************************************************    > File Name: euler035.c    > Author:    WArobot     > Blog:      http://www.cnblogs.com/WArobot/     > Created Time: 2017年06月25日 星期日 18时56分56秒 ************************************************************************/#include 
#include
#include
#define MAX_N 10000000int32_t prime[MAX_N] = {0};void init_prime(){ for(int i = 2 ; i * i < MAX_N ; i++) { if( prime[i] == 0 ) { for(int j = 2 * i ; j < MAX_N ; j += i) prime[j] = 1; } }}bool IsCircularNumber(int32_t x){ if (prime[x] != 0) return false; int32_t t = x , d , h; d = (int32_t)floor(log10(x) + 1); h = (int32_t)pow(10 , d - 1); for(int32_t i = 0 ; i < d - 1 ; i++) { t = (t / h) + (t % h) * 10; if (prime[t] != 0) return false; } return true;}int32_t main() { init_prime(); int32_t cnt = 0; for(int32_t i = 2 ; i * 10 <= MAX_N ; i++) { if( IsCircularNumber(i) ) cnt++; } printf("%d\n",cnt); return 0;}

转载于:https://www.cnblogs.com/WArobot/p/7077763.html

你可能感兴趣的文章
解决vim中不能使用小键盘
查看>>
jenkins权限管理,实现不同用户组显示对应视图views中不同的jobs
查看>>
我的友情链接
查看>>
CentOS定时同步系统时间
查看>>
批量删除用户--Shell脚本
查看>>
如何辨别android开发包的安全性
查看>>
Eclipse Java @Override 报错
查看>>
知道双字节码, 如何获取汉字 - 回复 "pinezhou" 的问题
查看>>
linux中cacti和nagios整合
查看>>
Parallels Desktop12推出 新增Parallels Toolbox
查看>>
Python高效编程技巧
查看>>
Kafka服务端脚本详解(1)一topics
查看>>
js中var self=this的解释
查看>>
js--字符串reverse
查看>>
面试题
查看>>
Facebook 接入之获取各个配置参数
查看>>
linux的日志服务器关于屏蔽一些关键字的方法
查看>>
事情的两面性
查看>>
只要会营销,shi都能卖出去?
查看>>
sed单行处理命令奇偶行输出
查看>>