1. 程式人生 > 其它 >牛客程式設計—迴文對稱數

牛客程式設計—迴文對稱數

技術標籤:牛客網刷題系列

題目描述
今天牛牛學到了迴文串,他想在數字裡面找回文,即迴文數,迴文數是正著讀與倒著讀都一樣的數,比如1221,343是迴文數,433不是迴文數。請輸出不超過n的迴文數。

輸入描述: 輸入一個整數n(1 <= n <= 100000) 輸出描述: 從1開始按從小到大的順序輸出所有迴文數 示例1
輸入
10
輸出
1
2
3
4
5
6
7
8
9

#include <iostream>
using namespace std;
int main(){
    int n;
    scanf("%d", &n);
    for
(int i = 1; i <= n; i++) { int temp = i; int number = 0; //利用while迴圈將數反轉 while (temp) { number = number * 10 + temp % 10; temp = temp / 10; } //判斷原數和反轉數是否相等 if (number == i) { printf("%d\n"
, number); } } }

求反轉數的核心程式碼:

number = number * 10 + temp % 10;
temp = temp / 10;

下面程式碼是將一個數從個位數向更高位數逐個分離出來處理:

m = n % 10;
m = m / 10;

這個方法可以套用在類似的題目中,可以當作解題模板使用。
歡迎大家進入我的個人部落格網站一起交流討論。http://codeingshuang.com