[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;
}
輸出結果:
心得體會:還差的太遠啊 該怎樣做