問題描述
查詢並列出所有以十進位制表示法表示的四位數字,這些四位數字具有以下特性:當以十六進製制(以16為基數)表示時,其四位數之和等於其數字總和;而以十二進位制表示時,其四位數也等於其數字的總和(以12為基數的符號。
例如,數字2991的(十進位制)數字之和為2 + 9 + 9 + 1 =21。由於2991 = 1 * 1728 + 8 * 144 + 9 * 12 + 3,其十二進位制表示為1893(12),這些數字也總計為21。但是在16進製制2991中是baf16,而11 + 10 + 15 = 36,因此程式應拒絕2991。
但是,下乙個數字(2992)在所有三個表示形式中的數字總和為22(包括bb016),因此2992應該在列出的輸出上。(我們不希望使用少於四位數的十進位制數字(不包括前導零),因此2992是第乙個正確答案。)
輸入值
沒有針對此問題的輸入。
輸出量
您的輸出將為2992,並且所有滿足要求的大四位數(嚴格按公升序排列)均在單獨的行上,沒有前導或尾隨空格,以換行符結尾。輸出中不得有空行。輸出的前幾行如下所示。
樣本輸入
沒有針對此問題的輸入。
樣本輸出
2992
2993
2994
2995
2996
2997
2998
2999
解題思路:
題目大意:輸出所有十進位制、十二進位制、十六進製制各位數字加起來相等的四位數。
思路:for迴圈,求出十進位制、十二進位制、十六進製制各位數字加起來的結果,判斷是否相等,相等輸出。
ac**:
#include
intmain()
,b[3];
b[0]
=i; b[1]
=i; b[2]
=i;while
(b[0])
while
(b[1])
while
(b[2])
if(a[0]
==a[1]
&&a[1]
==a[2]
)printf
("%d\n"
,i);
}return0;
}
測試用例:
2992
2993
2994
2995
2996
2997
2998
2999
4470
4471
4472
4473
4474
4475
4970
4971
4972
4973
4974
4975
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5960
5961
5962
5963
6456
6457
6458
6459
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7940
7941
7942
7943
8436
8437
8438
8439
9424
9425
9426
9427
9428
9429
9924
9925
9926
9927
9928
9929
34 特殊四位數
34 特殊四位數 問題描述 數學一直是明明很喜歡的一門學科,不但上課認真聽講,而且還自己鑽研。有一次,老師在課上講了一種特殊的四位整數,這種整數有兩個特性 第一,它是某乙個自然數的平方 第二,它的千位數字與十位數字之和等於百位數字與個位數字之積。然後老師就舉了乙個例子 1156,1156是34的平方...
46 特殊四位數
問題描述 數學一直是明明很喜歡的一門學科,不但上課認真聽講,而且還自己鑽研。有一次,老師在課上講了一種特殊的四位整數,這種整數有兩個特性 第一,它是某乙個自然數的平方 第二,它的千位數字與十位數字之和等於百位數字與個位數字之積。然後老師就舉了乙個例子 1156,1156是34的平方,且1156的千位...
高階34 特殊四位數
34 特殊四位數 問題描述 數學一直是明明很喜歡的一門學科,不但上課認真聽講,而且還自己鑽研。有一次,老師在課上講了一種特殊的四位整數,這種整數有兩個特性 第一,它是某乙個自然數的平方 第二,它的千位數字與十位數字之和等於百位數字與個位數字之積。然後老師就舉了乙個例子 1156,1156是34的平方...