46 特殊四位數

2022-09-30 15:39:13 字數 1405 閱讀 8417

問題描述 :

數學一直是明明很喜歡的一門學科,不但上課認真聽講,而且還自己鑽研。有一次,老師在課上講了一種特殊的四位整數,這種整數有兩個特性:

第一,它是某乙個自然數的平方;

第二,它的千位數字與十位數字之和等於百位數字與個位數字之積。

然後老師就舉了乙個例子:1156,1156是34的平方,且1156的千位數字1加上十位數字5等於百位數字1乘以個數數字6,即1+5=1*6。

然後老師告訴同學,這是最小的乙個符合以上兩個特性的四位整數,接著老師就留下了作業,要讓同學們回家後盡量多的找出符合這兩個特性的特殊四位數。明明回家後,就開始找了起來,1157、1158、1159、……、3136,直到到了3136(3136=56*56,3+3=1*6),明明才找到了第二個這樣的特殊四位數。明明覺得這樣找下去不是辦法,後面還有好幾千個數字要乙個乙個試下來,這樣一定無法在睡覺前完成。於是明明就求助於你,幫他寫乙個程式,從小到大求出所有的這樣的特殊四位數,然後當明明想要第幾個這樣的特殊四位數時,你就能夠很快的告訴他。 如果把上述所有的特殊四位數按從小到大的順序排列後記為s1,s2,…,sn,…,即排在第1個位置上的特殊四位數記為s1,排在第2個位置上的特殊四位數記為s2,…,排在第n個位置上的特殊四位數記為sn,那麼明明的問題可以歸結為:假如乙個特殊四位數排在第n個位置上,那麼這個特殊四位數sn等於多少呢?

輸入說明 :

你寫的程式要求從標準輸入裝置中讀入測試資料作為你所寫程式的輸入資料。標準輸入裝置中有多組測試資料,每組測試資料僅佔一行,每行僅有乙個正整數n(n不大於特殊四位數的個數),表示要求第n個特殊四位數sn。每組測試資料與其後一組測試資料之間沒有任何空行,第一組測試資料前面以及最後一組測試資料後面也都沒有任何空行。

輸出說明 :

對於每一組測試資料,你寫的程式要求計算出一組相應的運算結果,並將這一組運算結果作為你所寫程式的輸出資料依次寫入到標準輸出裝置中。每組運算結果為乙個正整數,表示與輸入資料n相對應的那個特殊四位數sn,每組運算結果單獨形成一行資料,其行首和行尾都沒有任何空格,每組運算結果與其後一組運算結果之間沒有任何空行,第一組運算結果前面以及最後一組運算結果後面也都沒有任何空行。 注:通常,顯示屏為標準輸出裝置。

輸入範例 :12

輸出範例 :

1156

3136

思想:先找所有平方是4位數的數字(32-99),儲存這些數平方的結果到乙個陣列中,然後遍歷這個陣列,如果發現符合條件的,那麼存入結果陣列中,最後輸入取值即可。

#include #include 

int judge(int

num)

if(w[3]+w[1]==w[2]*w[0

])else

}int

main()

for(k = 0;k<68;k++)

}while(scanf("

%d",&num)!=eof)

}

34 特殊四位數

34 特殊四位數 問題描述 數學一直是明明很喜歡的一門學科,不但上課認真聽講,而且還自己鑽研。有一次,老師在課上講了一種特殊的四位整數,這種整數有兩個特性 第一,它是某乙個自然數的平方 第二,它的千位數字與十位數字之和等於百位數字與個位數字之積。然後老師就舉了乙個例子 1156,1156是34的平方...

高階34 特殊四位數

34 特殊四位數 問題描述 數學一直是明明很喜歡的一門學科,不但上課認真聽講,而且還自己鑽研。有一次,老師在課上講了一種特殊的四位整數,這種整數有兩個特性 第一,它是某乙個自然數的平方 第二,它的千位數字與十位數字之和等於百位數字與個位數字之積。然後老師就舉了乙個例子 1156,1156是34的平方...

1196 找到特殊的四位數

問題描述 找到並列出所有十進位制表示的4位數字,使得它的四位數字之和等於十六進製制 以16為基數 表示法中的四位數字的和,也等於十二進位制 以12為基數 表示法中的四位數字的和。例如,2991十進位制下2 9 9 1 21,與此同時,2991 1 1728 8 144 9 12 3,它的12進製表示...