トップページに戻る
次のC#のサンプルへ
前のC#のサンプルへ
Cマガ電脳クラブ(第006回) りばーす・リバース
問題
741という数に注目してみよう。まず3で割る。
741
--- = 247
3
次に、この247を逆から読む。247 (逆転) → 742
そして、1を引く。742 - 1 = 741
なんともとの741に戻ってしまった。
ここで問題。"ある数を3で割り、その結果の数字を逆転して、それから1を引いたらもとの数と一致する"
という正の数を、この741以外にひとつ見つけてください。
もちろん3桁とは限らない。
ソース
<?php error_reporting(E_ALL);
for($I = 3 ; $I < PHP_INT_MAX ; $I += 3){
$wkInt = $I;
$wkInt /= 3;
$wkStr = StrVal($wkInt);
$wkInt = IntVal(strrev($wkStr));
$wkInt--;
if($I == $wkInt) {
printf('解として%dを発見しました。' . PHP_EOL , $I);
if ($I != 741) return;
}
}
実行結果
解として741を発見しました。
解として7425741を発見しました。
解説
ナイーブに解いてます。
PHPでは、strrev関数で文字列を反転できます。
C#で解いたもの