当前位置:编程学习 > C/C++ >>

输出10000以内的素数、回文数、回文素数

[cpp] 
/*   
* 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;   
}      

输出结果:
心得体会:还差的太远啊 该怎样做

补充:软件开发 , C++ ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,