トップページに戻る    次のC#のサンプルへ    前のC#のサンプルへ

Problem387 ハーシャッド数

問題

ハーシャッド数 (Harshad Number),
あるいはニーベン数 (Niven Number) とは自身の各桁の和で割り切ることのできる数のことである.

201は (自身の各桁の和である) 3 で割り切ることができるのでハーシャッド数である.
201の最後の桁を切り詰めると 20が得られ,これはハーシャッド数である.
20の最後の桁を切り詰めると 2が得られ,これもまたハーシャッド数である.

ハーシャッド数の最後の桁を再帰的に切り詰めていってもハーシャッド数となるものを
右切り詰め可能ハーシャッド数 (right truncatable Harshad number) と呼ぼう.

同様に: 201/3=67 は素数である.
その自身の各桁の和で割ると素数になるハーシャッド数を
強いハーシャッド数 (strong Harshad number) と呼ぼう.

ここで素数 2011 を見てみよう.
最後の桁を切り詰めると 201 となり,
これは強いハーシャッド数であるとともに右切り詰め可能である. このような素数を
強い右切り詰め可能ハーシャッド素数 (strong, right truncatable Harshad primes) と呼ぼう.

1万未満の強い右切り詰め可能ハーシャッド素数の和は 90619 となる.
100兆未満の強い右切り詰め可能ハーシャッド素数の和を求めよ.


ソース



実行結果



解説