重拾回文素数
2012-12-06 11:00
162 查看
/* Copyright (c) 2012, 烟台大学计算机学院 All rights reserved. 文件名称:test.cpp 作者:孙永 完成日期:2012 年12月6日 版本号:v1.0 输入描述:无 问题描述:调用函数输出1000以内的回文素数 程序输出:1000以内的回文素数 问题分析: 算法设计:略 */ #include <iostream> #include<cmath> using namespace std; bool isPrime(int n); //n是素数,返回true,否则返回false bool isPalindrome(int n); //n是回文数,返回true,否则返回false int reverseNum(int n); //返回n的逆序数 int main() { int n; cout<<"万以内的素数有:"<<endl; for(n=2;n<10000;++n) { if(isPrime(n)) cout<<n<<" "; } cout<<endl; cout<<"万以内的回文数有:"<<endl; for(n=2;n<10000;++n) { if(isPalindrome(n)) cout<<n<<" "; } cout<<endl; cout<<"万以内的回文素数有"<<endl; for(n=2;n<10000;++n) { if(isPrime(n)&&isPalindrome(n)) cout<<n<<" "; } cout<<endl; cout<<"万以内的所有可逆数"<<endl; for(n=2;n<10000;++n) { if(isPrime(n)&&isPrime(reverseNum(n))) cout<<n<<" "; } return 0; } bool isPrime(int m) { bool prime=true; int k=int(sqrt(m)); for(int i=2;i<=k;++i) { if(m%i==0) { prime=false; break; } } return prime; }//求素数 bool isPalindrome(int m) { bool Palindrome=false; int n,k; n=m; k=0; while(n>0) { k=k*10+n%10; n=n/10; } if(k==m) Palindrome=true; return Palindrome; }//求回文数 int reverseNum(int m) { int k; k=0; while(m>0) { k=k*10+m%10; m=m/10; } return k; }
运行结果:
相关文章推荐
- 第十二周上机项目4(3):输出10000以内的所有回文素数
- 回文素数
- 一个字符串A的子串被定义成从A中顺次选出若干个字符构成的串。如A=“cdaad" ,顺次选1,3,5个字符就构成子串" cad" ,现给定两个字符串,求它们的最长共公子串。 小王对既是素数又是回文的
- 输出1000以内的所有素数 回文数 回文素数 可逆素数
- HDU 1431 素数回文 打表
- 素数回文(hdu1431)
- hdu1043-素数回文
- 素数回文(hdu1431)
- HDU1431 素数回文 【暴力】
- HDU-1431(素数回文)(思维)(dfs+素数判定)
- 回呀回呀文呀文,素数呀素数。。。。到底怎么回文呀??(泪奔ing)
- 第11周项目六 回文~素数(1)
- 第11周项目6-回文、素数-回文素数
- 第十一周项目六——回文,素数(4)(输出1000以内的所有素数)
- 第十一周项目6-回文、素数(判断回文数)
- 第十一周项目六——回文,素数(4)球10000以内的所有可逆素数
- 第十一周项目6 (4)输入一个数,输出这个数以内的所有回文素数
- 第11周项目6:回文,素数
- 第11周项目6-回文、素数(3)
- C++第7次上机实验:素数和回文