親愛なる皆様、アドバイスをお願いします。
PHPに次のコード/ forループがあります
$number= 123
$counter = 0;
$digitsum = 6 /* This is calculated by another function */
for($i=1;$i<=$number-1;$i++) {
if(array_sum(preg_split('//',$i)) == $digitsum){
$counter++;
}
}
echo $counter;
したがって、基本的に私のループは、指定された数値より下の数値が同じ数字の合計を持つ数を数え、その数を表示します。5 桁の数字と 1 秒以内にループ数を計算する限り完全に機能しますが、18 桁の数字を処理して 1 秒以内にカウントを完了する必要があります。
これを達成することは可能ですか?または、他の解決策を検討する必要がありますか?