输出10000以内的素数、回文数、回文素数
/* * Copyright (c) 2011, 烟台大学计算机学院 * All rights reserved. * 作 者:李蒙 * 完成日期:2012 年11 月 19 日 * 版 本 号:v1.0 * 输入描述:无 * 问题描述:编制一个返回值为bool型的函数isPrimer(), 用于判断参数是否为素数,isPalindrome()用于判断参数是否是回调用函数回答以下问题(可以分别编制几个程序完成,也可以在一个main()函数中完成 ,输出时,用明显的提示语,说明正在完成哪个任务。 * 程序输出:输出10000以内的所有素数.输出10000以内的所有回文数.输出10000以内的所有回文素数 * 问题分析:略 * 算法设计:略 */#include <iostream> #include<cmath> using namespace std; bool isPrimer(int n); bool isPalindrome(int n); int main() { int i; for(i=1;i<10000;++i){ if(isPalindrome(i)==true){ cout<<i<<"是回文数"<<"\t"; } if(isPrimer(i)==true){ cout<<i<<"是素数"<<"\t"; } if(isPalindrome(i)==isPrimer(i)){ cout<<i<<"是回文素数"<<"\t"; } } return 0; } bool isPrimer(int n) { int i; for(i=2;i<=sqrt(n);++i) { if(n%i==0){ break; } } if(i>sqrt(n)){ return true; } } bool isPalindrome(int n) { int m=n,f=0; if(n>10){ for(;m>0;) { f=m%10+f*10; m=m/10; } if(f==n){ return true; } } else return false; }
输出结果:
心得体会:还差的太远啊 该怎样做