第十一週 專案六:輸出1000以內的所有迴文素數
阿新 • • 發佈:2019-02-12
問題及程式碼:
/* * Copyright (c) 2014, 煙臺大學計算機學院 * All rights reserved. * 檔名稱:Project4.cpp * 作 者:李楠 * 完成日期:2014年11月7日 * 版 本 號:v1.0 * * 問題描述:編制一個返回值為bool型的函式isPrimer(),用於輸出1000以內的迴文素數(是迴文素數返回true,否則false),自編main函式用於測試; * 輸入描述:一個整數 * 程式輸出:略 */ #include <iostream> using namespace std; bool isPalindrome(int); bool isPrimer(int); int reverse(int x); int main() { int p,j; p=1000; cout<<"1000以內的迴文素數有:"<<endl; for(j=10;j<=p;++j) { if(isPalindrome(j)&&isPrimer(j)) cout<<j<<" "; } return 0; } bool isPalindrome(int n) { int r,l=0,m; m=n; bool ispalindrome=false; while(m>0) { r=m%10; l=l*10+r; m=m/10; } if(l==n) ispalindrome=true; return ispalindrome; } bool isPrimer(int n) { int l,i; bool isprimer=true; for(i=2;i<n;++i) { l=n%i; if(l==0) { isprimer=false; break; } } return isprimer; }
執行結果:
知識點總結:
在前兩個關於素數和迴文數的基礎上,很輕鬆就能完成這個程式,感覺如此順暢,真是不多見!!!
學習心得:
有了同伴的精神支援,寫再長的程式也不會感覺累,雖然會有分歧,但是我萌依然是棒棒的好基友啊~好盆友~