第11周项目6-回文、素数 输出1000以内的所有素数、回文数、回文素数和10000以内的所有可逆素数
2014-11-07 23:15
603 查看
1./* 2. * Copyright (c) 2014, 烟台大学计算机学院 3. * All rights reserved. 4. * 文件名称:test.cpp 5. * 作 者:刘畅 6. * 完成日期:2014年 11 月 7 日 7. * 版 本 号:v1.0 8. * 9. * 问题描述:。输出1000以内的所有素数、回文数、回文素数和10000以内的所有可逆素数; 10. * 输入描述: 分情况而定; 11. * 程序输出:输出该输出的数; 12. */
(1)输出1000以内所有素数;
#include <iostream> #include <stdio.h> #include <cmath> using namespace std; bool primenumber(int ); int main() { int n,i=0; for (n=2; n<1000; ++n) { if (primenumber(n)) { cout<<n<<" "; i++; if (i%10==0) cout<<endl; } } return 0; } bool primenumber(int n) { int i; for (i=2; i<=sqrt(n); ++i) if (n%i==0) break; if (i>sqrt(n)) return n; }
运行结果:
(2)输出1000以内的所有回文数;
#include <iostream> using namespace std; bool isPalindrome(int ); int main() { int m,n=0; for (m=1;m<1000;++m) { if (isPalindrome(m)) { cout<<m<<" "; n++; if (n%10==0) cout<<endl; } } return 0; } bool isPalindrome(int n) { int s=0,i,j=n; while (j>0) { i=j%10; s=s*10+i; j=j/10; } return (s==n); }
运行结果:
(3)输出1000以内的回文素数;
#include <iostream> #include <stdio.h> #include <cmath> using namespace std; bool isPalindrome(int ); bool primenumber(int ); int main() { int n,i=0; for (n=2;n<1000;++n) { if (isPalindrome(n)&&primenumber(n)) { cout<<n<<" "; i++; if (i%10==0) cout<<endl; } } return 0; } bool primenumber(int n) { int i; for (i=2;i<=sqrt(n);++i) if (n%i==0) break; if (i>sqrt(n)) return n; } bool isPalindrome(int n) { int s=0,i,j=n; while (j>0) { i=j%10; s=s*10+i; j=j/10; } return (s==n); }
运行结果:
(4)若一个素数的反序数仍为素数,则称它为可逆素数。求10000以内的所有可逆素数;
#include <iostream> #include <stdio.h> #include <cmath> using namespace std; bool primenumber(int ); int reverse(int ); int main() { int n,i=0,m; for (n=2;n<10000;++n) { m=reverse(n); if (primenumber(m)&&primenumber(n)) { cout<<n<<" "; i++; if (i%10==0) cout<<endl; } } return 0; } bool primenumber(int n) { int i; for (i=2;i<=sqrt(n);++i) if (n%i==0) break; if (i>sqrt(n)) return n; } int reverse(int x) { int r,m=0; while (x>0) { r=x%10; m=m*10+r; x=x/10; } return m; }
运行结果:
知识点总结:
要想得出正确的结果,得处理好if中的条件,然后要保证运行界面的整洁,还要控制一行输出多少个数。
学习心得:
前面两个没啥难度,把for循环应用到之前的项目代码进去就可以搞定,但后两个做了好久,第三个不管怎么改输出的都还是1000以内的素数,最后在借鉴了老师的博文情况下找到了问题--要把两个判断放在一个if后面的括号里,如果不放,还得做出其他的改变,这里就不多说了;最后一个也是同样的问题,解决得还算比较顺利;然后在书上看到了控制一行输出数值的个数的方法,所以个人觉得做得算是比较好的了(即使感觉那些函数自己写得还是有些问题,嘿嘿!)
相关文章推荐
- 第11周项目6-回文、素数 输出1000以内的所有素数、回文数、回文素数和10000以内的所有可逆素数(多文件组织程序)
- 第11周项目6输出1-1000的所有素数、回文数、回文素数、可逆素数(调用三个函数实现输出目标数)
- 提高篇第一讲项目6.4——编制函数输出1000以内的所有素数,回文数,回文素数,可逆素数
- 第11周项目6回文数、素数(6输出1000以内的所有回文素数)
- 第11周 项目6-7 输出10000以内的所有可逆素数
- 第11周 项目6-6 输出1000以内所有回文素数
- 第11周项目6 回文数、素数(5输出1000以内所有的回文数)
- 第十一周项目6-回文、素数(输出1000以内所有回文素数)
- 输出1000以内的所有素数 回文数 回文素数 可逆素数
- 多文件程序组织:输出1000以内的所有回文数;素数;回文素数;可逆素数。
- 第11周项目6回文数、素数(4、输出1000以内所有的素数)
- 第11周项目6.4.3 输出1000以内所有回文素数
- 第十二周上机项目4(3):输出10000以内的所有回文素数
- 第11周 项目6-4 输出1000以内的所有素数
- 第十一周项目六——回文,素数(4)输出1000以内的所有回文素数
- 第十一周 项目六:输出1000以内的所有回文素数
- 第十一周项目六——回文,素数(4)(输出1000以内的所有素数)
- 第11周项目6(1000)以内所有回文素数
- 输出1000以内的所有素数;输出1000以内的所有回文数;输出1000以内的所有回文素数;输出1000以内的所有可逆素数;
- 第十一周项目六 (3+)输出1000以内所有回文素数