程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 輸出10000以內的素數、回文數、回文素數

輸出10000以內的素數、回文數、回文素數

編輯:C++入門知識

[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;   
}      

輸出結果:
心得體會:還差的太遠啊 該怎樣做

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved