藍橋杯歷屆試題 回文數字

2021-07-29 12:51:10 字數 1825 閱讀 8442

問題描述

觀察數字:12321,123321 都有乙個共同的特徵,無論從左到右讀還是從右向左讀,都是相同的。這樣的數字叫做:回文數字。

本題要求你找到一些5位或6位的十進位制數字。滿足如下要求:

該數字的各個數字之和等於輸入的整數。

輸入格式

乙個正整數 n (10輸出格式

若干行,每行包含乙個滿足要求的5位或6位整數。

數字按從小到大的順序排列。

如果沒有滿足條件的,輸出:-1

樣例輸入

44樣例輸出

99899

499994

589985

598895

679976

688886

697796

769967

778877

787787

796697

859958

868868

877778

886688

895598

949949

958859

967769

976679

985589

994499

樣例輸入

60樣例輸出

-1這個題比較簡單,主要是考察各位數和和回文數判斷

回文數判斷的時候我用到了itoa,和atoi函式,因為藍橋杯編譯器裡不承認to_string()這個函式,所以只能用這兩個

itoa用法如下:

itoa是廣泛應用的非標準

c語言擴充套件函式,將整數轉化為字串 

通常在標頭檔案中包含這個函式。

原型:char*itoa(intvalue,char*string,intradix);

int value 被轉換的

整數,char *string 轉換後儲存的

字元陣列

,int radix 轉換進製數,如2,8,10,16 進製等

atoi用法如下:

atoi (表示 alphanumeric to integer)是把字串轉換成

整型數的乙個函式,

原型:int 

atoi

(const char

*nptr);

引數nptr字串,如果第乙個非空格字元存在,是數字或者正負號則開始做型別轉換,之後檢測到非數字(包括結束符 \0) 字元時停止轉換,返回整型數。否則,返回零。包含在標頭檔案

stdlib.h

中。

判斷回文數比較快的方法就是,將數字轉化為字串反向後轉化為數字,然後直接與原數字比較

#include #include #include using namespace std;

int sum(int n)//求各位數之和

return sum;

}bool ishw(int n)//判斷回文

int main()

}if(!flag)

cout<<"-1"

}

藍橋杯 歷屆試題 回文數字

資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 觀察數字 12321,123321 都有乙個共同的特徵,無論從左到右讀還是從右向左讀,都是相同的。這樣的數字叫做 回文數字。本題要求你找到一些5位或6位的十進位制數字。滿足如下要求 該數字的各個數字之和等於輸入的整數。輸入格式 乙個...

藍橋杯 歷屆試題 回文數字 (暴力)

歷屆試題 回文數字 問題描述 觀察數字 12321,123321 都有乙個共同的特徵,無論從左到右讀還是從右向左讀,都是相同的。這樣的數字叫做 回文數字。本題要求你找到一些5位或6位的十進位制數字。滿足如下要求 該數字的各個數字之和等於輸入的整數。輸入格式 乙個正整數 n 10輸出格式 若干行,每行...

藍橋杯 歷屆試題 回文數字 (水)

歷屆試題 回文數字 時間限制 1.0s 記憶體限制 256.0mb 問題描述 觀察數字 12321,123321 都有乙個共同的特徵,無論從左到右讀還是從右向左讀,都是相同的。這樣的數字叫做 回文數字。本題要求你找到一些5位或6位的十進位制數字。滿足如下要求 該數字的各個數字之和等於輸入的整數。輸入...