信息学奥赛一本通 1155:回文三位数
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                信息学奥赛一本通 1155:回文三位数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                【題目鏈接】
ybt 1155:回文三位數
【題目考點】
1. 回文數
2. 質數
【解題思路】
設函數判斷一個數是不是回文的三位數
 只要一個三位數的個位和百位相同,這個三位數就是回文的
 設函數判斷一個數是不是質數
 遍歷所有三位數,用兩個函數判斷該數是不是回文三位數
【題解代碼】
解法1:只判斷一個數字是不是三位的回文數
#include<bits/stdc++.h> using namespace std; //判斷大于等于2的整數n是不是質數 bool isPrime(int n) {for(int i = 2; i <= sqrt(n); ++i){if(n % i == 0)return false;}return true; } //判斷三位數n是否是回文數字 bool isHuiwen(int n) {return n%10 == n/100; } int main() {for(int i = 100;i <= 999; ++i){if(isPrime(i) && isHuiwen(i))cout << i << endl;}return 0; }解法2:判斷一個任意數字是否是三位數
#include<bits/stdc++.h> using namespace std; //判斷大于等于2的整數n是不是質數 bool isPrime(int n) {for(int i = 2; i <= sqrt(n); ++i){if(n % i == 0)return false;}return true; } //判斷任意數字n是否是回文數字 bool isHuiwen(int n) {int newNum = 0;//構造n反向的數字,若n反向的數字與n相等,那么n就是一個回文數 for(int a = n; a > 0; a /= 10)newNum = newNum * 10 + a % 10;return n == newNum; } int main() {for(int i = 100;i <= 999; ++i){if(isPrime(i) && isHuiwen(i))cout << i << endl;}return 0; } 新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的信息学奥赛一本通 1155:回文三位数的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 信息学奥赛一本通 1167:再求f(x,
- 下一篇: 信息学奥赛一本通 1311:【例2.5】
