問題描述
觀察數字: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(
int
value,
char
*string,
int
radix);
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位的十進位制數字。滿足如下要求 該數字的各個數字之和等於輸入的整數。輸入...