<?php // 9^5 は5桁の数字なので、最大は6桁まで。 // 999999 の和は 354294 なので、5乗の数字の和で一致する可能性があるのは 354294 が最大になる。 // 6桁目は1,2,3 のいずれか。399999と仮定すると、五乗の数字の和は295488となるので、3もあり得ない。 // 6桁目は1,2 のいずれかになる。299999と仮定すると、五条の数字の和は295277となるので、 // 2 ~ 295277 の範囲の数字を調べればよい $answer = 0; for($i = 2 ; $i <= 295277 ; $i++) { $num = 0; $length = strlen($i); for($j = 0 ; $j < $length ; $j++) { $tmp = substr($i,$j,1); $num += pow($tmp , 5); } if($num == $i) { $answer+=$num; } } echo $answer; ?>