質問 B: ラッキーナンバー
この質問の合計スコア: 5 ポイント
[問題の説明] ハーシャッド数とは、固定基数系のすべての桁の合計で割り切れる正の整数を指します。たとえば、(126)10 mod (1+2+6) = 0 であるため、126 は 10 進数のハーシャッド数ですが、(126)10 = (176)8, ( 126) であるため、126 は 8 進数のハーシャッド数でもあります。 10 mod (1 + 7 + 6) = 0; 同時に、(126)10 = (7e)16, (126)10 mod (7 + e) であるため、126 は 16 進数のハーシャッド数でもあります。 0 。Xiaolan は、整数が 2 進数、8 進数、10 進数、および 16 進数のハーシャッド数である場合、この数字は幸運な数字であり、1 番目から 10 番目までの幸運な数字の 10 進表現は 1 、 2 、 4、6、8 であると考えています。 、40、48、72、120、126... 今、彼は 2023 番目の幸運な数字が何であるかを知りたいと考えています。この整数の 10 進表現を Xiaolan に伝えるだけで済みます。
【解答提出】 穴埋め問題ですので、結果を計算して提出するだけです。この質問の結果は整数です。この整数は回答を送信するときにのみ入力してください。冗長な内容を入力すると得点は得られません。
答え: 215040
public class Main {
static boolean f(int a, int h){
int x = a;
int sum = 0;
int temp = 0;
while(a != 0){
temp = a % h;
sum += temp;
a /= h;
}
if(x % sum == 0)return true;
return false;
}
public static void main(String[] args) {
int t = 0;
for (int i = 1; i <= 2023; i++) {
while(true){
t ++;
if(f(t, 2) && f(t, 8) && f(t, 10) && f(t, 16)){
System.out.println("i=" + i + " t=" + t);
break;
}
}
}
}
}