洛谷P1207 雙重回文數 USACO1 2

2021-07-26 21:54:48 字數 959 閱讀 5872

如果乙個數從左往右讀和從右往左讀都是一樣,那麼這個數就叫做「回文數」。例如,12321就是乙個回文數,而77778就不是。當然,回文數的首和尾都應是非零的,因此0220就不是回文數。

事實上,有一些數(如21),在十進位制時不是回文數,但在其它進製(如二進位制時為10101)時就是回文數。

編乙個程式,從檔案讀入兩個十進位制數n (1 <= n <= 15)s (0 < s < 10000)然後找出前n個滿足大於s且在兩種或兩種以上進製(二進位制至十進位制)上是回文數的十進位制數,輸出到檔案上。

本問題的解決方案不需要使用大於32位的整型

輸入格式:

只有一行,用空格隔開的兩個數n和s。

輸出格式:

n行, 每行乙個滿足上述要求的數,並按從小到大的順序輸出。

輸入樣例#1:

3 25

輸出樣例#1:

26

2728

題目翻譯來自nocow。

usaco training section 1.2

這道題真不難。。

說說幾個把弱智的我卡主的地方。。。

ok的各種問題。。還有強行優化使用位運算比較大小導致的錯誤。。。

別忘了要有兩個及兩個以上

上**

#include #include #include #include const int maxn = 100000 + 10;

int n,s;

int num[maxn],lenth;

int main()

for(int i = 1;i <= lenth / 2;i++)

}if(ok)

if(cnt == 2)

}} return 0;

}

44 雙重回文數

44 雙重回文數 問題描述 如果乙個數從左往右讀和從右往左讀都是一樣,那麼這個數就叫做回文數。例如,12321就是乙個回文數,而77778就不是。當然,回文數的首和尾都應是非零的,因此0220就不是回文數。事實上,有一些數 如21 在十進位制時不是回文數,但在其它進製 如二進位制時為10101 時就...

44 雙重回文數

如果乙個數從左往右讀和從右往左讀都是一樣,那麼這個數就叫做回文數。例如,12321就是乙個回文數,而77778就不是。當然,回文數的首和尾都應是非零的,因此0220就不是回文數。事實上,有一些數 如21 在十進位制時不是回文數,但在其它進製 如二進位制時為10101 時就是回文數。編乙個程式,從檔案...

東華OJ高階題44 雙重回文數

44 雙重回文數 問題描述 如果乙個數從左往右讀和從右往左讀都是一樣,那麼這個數就叫做回文數。例如,12321就是乙個回文數,而77778就不是。當然,回文數的首和尾都應是非零的,因此0220就不是回文數。事實上,有一些數 如21 在十進位制時不是回文數,但在其它進製 如二進位制時為10101 時就...