C++回文數及素數成績盤算辦法。本站提示廣大學習愛好者:(C++回文數及素數成績盤算辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C++回文數及素數成績盤算辦法正文
本文實例講述了C++回文數及素數成績盤算辦法。分享給年夜家供年夜家參考,詳細以下:
/* * 作 者: 劉同賓 * 完成日期:2012 年 11 月 16 日 * 版 本 號:v1.0 * * 輸出描寫: 編制一個前往值為bool型的函數isPrimer(),用於斷定參數能否為素數,isPalindrome()用於斷定參數能否是回文數,挪用函數答復以下成績(可以分離編制幾個法式完成,也能夠在一個main()函數中完成,輸入時,用顯著的提醒語,解釋正在完成哪一個義務。) (1)輸入10000之內的一切素數。 (2)輸入10000之內的一切回文數。 (3)輸入10000之內的一切回文素數。 * 成績描寫: * 法式輸入: * 成績剖析:略 * 算法設計:略 */ #include<iostream> #include<cmath> #include<iomanip> using namespace std; int fanxushu(int i); //函數聲明 bool ispalindrome(int i); bool isprimer(int i); int main() { int a; cout<<"輸入10000之內的一切素數:"<<endl; for(a=2;a<=10000;++a) { if(isprimer(a)) { cout<<a<<" "; } } cout<<endl<<endl; cout<<"輸入10000之內的一切回文數:"<<endl; for(a=2;a<=10000;++a) { if(ispalindrome(a)) { cout<<a<<" "; } } cout<<endl<<endl; cout<<"輸入10000之內的回文素數:"<<endl; for(a=2;a<=10000;++a) { if(isprimer(a)&&ispalindrome(a)) { cout<<a<<" "; } } cout<<endl<<endl; return 0; } int fanxushu(int i) //反序數函數 { int l; l=0; while(i>0) { l=l*10+i%10; i=i/10; } return l; } bool ispalindrome(int i) //回文數函數 { int j,l; bool palindrome=false; j=i; l=0; while(j>0) { l=l*10+j%10; j=j/10; } if(i==l) { palindrome=true; } return palindrome; } bool isprimer(int i) //素數函數 { int j,k; bool prime=true; k=int(sqrt(i)); for(j=2;j<=k;++j) { if(i%j==0) { prime=false; break; } } return prime; }
運轉後果以下圖所示:
願望本文所述對年夜家C++法式設計有所贊助。