123321是乙個非常特殊的數,它從左邊讀和從右邊讀是一樣的。
輸入乙個正整數n, 程式設計求所有這樣的五位和六位十進位制數,滿足各位數字之和等於n 。(1< =n< =54)
輸入一行,包含乙個正整數n。
按從小到大的順序輸出滿足條件的整數,每個整數佔一行。
52
899998989989
998899
思路:一開始我想的是用暴力來解決,就是6個for迴圈(從0~9)來計算,時間複雜度也不過是10^6,沒想到居然計算不出來,就只能優化成這樣的了。
#include #include#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
#define ll long long
const
int maxn = 5100
;int n, id, a[58][100][100], num[100], number[100
];int
main()
else
if(i>100000 && ge+shi+bai+qian+wan+shiwan == n && ge == shiwan && shi == wan && bai ==qian)
}for(int i = 0; i)
printf(
"%d\n
", num[i]);
return0;
}
特殊回文數
123321是乙個非常特殊的數,它從左邊讀和從右邊讀是一樣的。輸入乙個正整數n,程式設計求所有這樣的五位和六位十進位制數,滿足各位數字之和等於n 輸入格式 輸入一行,包含乙個正整數n。輸出格式 按從小到大的順序輸出滿足條件的整數,每個整數佔一行。思路 看到網上的乙個 學習了,但提交到藍橋試題才20分...
特殊回文數
問題描述 123321是乙個非常特殊的數,它從左邊讀和從右邊讀是一樣的。輸入乙個正整數n,程式設計求所有這樣的五位和六位十進位制數,滿足各位數字之和等於n 輸入格式 輸入一行,包含乙個正整數n。輸出格式 按從小到大的順序輸出滿足條件的整數,每個整數佔一行。樣例輸入 52樣例輸出 899998 989...
特殊回文數
問題描述 123321是乙個非常特殊的數,它從左邊讀和從右邊讀是一樣的。輸入乙個正整數n,程式設計求所有這樣的五位和六位十進位制數,滿足各位數字之和等於n 輸入格式 輸入一行,包含乙個正整數n。輸出格式 按從小到大的順序輸出滿足條件的整數,每個整數佔一行。樣例輸入 52樣例輸出 899998 989...