C - 查找回文质数
看面试经验的时候看见了这个问题,
首先名词解释:
回文数:就是一个数从前看和从后看是一样的,比如121,12321
质数:就是一个只能被1和它自身整除.
回文质数:就是又是回文数又是质数.
好的,概念解释完了,我们就写程序了.
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <math.h> 4 /** 5 判断m是否为质数 6 @return 1:质数,0:不是质数 7 **/ 8 int ss(int m){ 9 for(int i=2;i<=sqrt(m);i++) 10 if(! (m%i)) 11 return 0; 12 return 1; 13 } 14 15 /** 16 判断m是否为回文数 17 @return 1:回文,0:不是回文 18 **/ 19 int huiwen(int m){ 20 int x=0,y; 21 y=m; 22 while(y){ 23 x = x*10 + y % 10; 24 y /= 10; 25 } 26 if (m==x) 27 return 1; 28 else 29 return 0; 30 } 31 32 int main() 33 { 34 /** 35 回文质数的要求: 36 1 位数必须为奇数 37 2 回文数 + 质数 38 3 唯一例外:11 39 **/ 40 // 直接打印11 41 printf("回文质数:%d\r\n",11); 42 int j = 1; //基数 43 int k = 3; //边界 44 int l; 45 while (j < k){ 46 l = pow(100,j); 47 for (int i=l+1;i < 10 * l;i++,i++) 48 if(huiwen(i)&&ss(i)) 49 printf("回文质数:%d\r\n",i); 50 j++; 51 } 52 }
为什么要奇数位的回文数呢?因为偶数位的回文数注定会被11整除,所以肯定不是质数.
那么我们这里只需要考虑101-999,10001-99999,等等奇数位,所以可以少掉很多循环啦.
转载于:https://www.cnblogs.com/huangjacky/archive/2012/04/20/2460710.html
C - 查找回文质数相关推荐
- P1217 回文质数(打表)
2020.2.9更新,修改打表程序,用上freopen("Table.txt", "w", stdout);程序更加简洁 题目描述 因为151既是一个质数又是一 ...
- 洛谷 - P1217 [USACO1.5]回文质数 Prime Palindromes(欧拉线性筛+数论小知识)
题目链接:点击查看 题目大意:给出一个a和b,求出区间[a,b]中所有回文质数,回文质数指的是一个数既是回文数也是质数 题目分析:首先质数好判断,我们只需要用欧拉筛预处理打好表即可,判断回文数我们也只 ...
- 洛谷P1217 回文质数
题目描述 因为 151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围 [a,b] (5 \le a < b \le 100,000 ...
- [USACO1.5]回文质数 Prime Palindromes
题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围[a,b](5 <= a < b <= 100,000 ...
- 回文质数(洛谷-P1217)
题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围[a,b](5 <= a < b <= 100,000 ...
- 暴力枚举——回文质数(洛谷 P1217)
题目选自洛谷P1217 此题异常的坑,需要很多的处理和简化: 1.回文质数一定不是2的倍数,因为质数不可能是2的倍数: 2.最大的回文质数是9989899(自己测). 于是,本蒟蒻的代码就出来了 题目 ...
- java 回文素数_java实现回文质数
题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围[a,b](5 <= a < b <= 100,000 ...
- P1217 [USACO1.5]回文质数 Prime Palindromes——回文质数性质、打表
[USACO1.5]回文质数 Prime Palindromes 题目描述 因为 151151151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151151151 是回文质数. ...
- P1217 [USACO1.5]回文质数 Prime Palindromes
暴力输出5~1e8的回文质数 #include <bits/stdc++.h> using namespace std; int cnt; bool isprim(int x) //10^ ...
最新文章
- linux shell 脚本 supress,Linux指令和shell脚本
- 第18课:模型部署上线的几种服务发布方式
- 8086PC读取和执行指令相关部件
- phoenix hbase java_java jdbc访问hbase phoenix
- 【MySQL 】学习笔记千行总结
- 子矩阵(NOIP2014 普及组第四题)
- 写给大数据从业者:数据科学的5个陷阱与缺陷
- 基于 vue-cli4+vant 搭建 H5 通用架子(支持微信公众号)
- 怎样发量暴增_发量少怎么增加发量 秃发女孩必学发量激増6招
- C语言课后习题(14)
- 5、VS2010+ASP.NET MVC4+EF4+JqueryEasyUI+Oracle该项目的开发——使用datagrid做报表
- 代码统计工具SourceCounter(绿色版)
- Matlab GUI编程技巧(十二):menu创建菜单或菜单项
- springboot基于Java的多元化智能选课系统毕业设计源码040909
- pynq 环境搭建_PYNQ 经典项目分享之 - Hello World
- python去掉第一个字符_去掉python字符串前面的”b”
- html5进行游戏开发
- 解决触摸板synatipics与键盘驱动相冲突问题——win8.1
- 集成算法终极模型之《神器LightGBM》—最后的高山
- 《植物大战僵尸》的12个成功秘诀