<?php // 6倍しても同じ桁数ということは、一番上の位は1であり、次の位は0-6 である。 // 同じ数字を含んでもいいかは問題に言及されていないので、同じ数字を含む可能性がある前提で考える。 $i = 0; $flag = false; while(true) { if(substr($i,1,0) < 7) { $num = "1".$i; $array = array(); for($j = 1 ; $j <= 6 ; $j++) { $tmp = $num * $j; $numlen = strlen($tmp); for($k = 0 ; $k < $numlen ; $k++) { @$array[$j][substr($tmp,$k,1)]++; } } $flag2 = true; foreach($array[1] as $key => $value) { if(@$array[2][$key] != $value or @$array[3][$key] != $value or @$array[4][$key] != $value or @$array[5][$key] != $value or @$array[6][$key] != $value) { $flag2 = false; break; } } if($flag2) { $flag = true; } } $i++; if($flag) { break; } } echo $num."\n"; ?>