Hola, así es como lo haría yo, en php:
Código:
function sum ($x) {
$res = 0;
while ($x) {
$res += ($x % 10);
$x /= 10;
}
return $res;
}
$x = 1;
$y = 0;
while ($y < 1000) {
$x++;
if (sum($x) == 8) {
$y++;
echo str_pad($x, 6, "0", STR_PAD_LEFT) . "<br />";
}
}
Si no necesitas que rellene con ceros por delante, simplemente cambia el último echo por echo "$x <br />"; y te saldrán los números sin dígitos iniciales, si necesitas mas ceros por delante, cambia el 6 de la función str_pad por los que quieras.
Saluda a Jaime de mi parte y si tienes algún problema dile que te pase mi número y me llamas :)
Un saludo.