puts "Enter range(starts at 1), ends at the number that you enter: "
range = gets.chomp.to_i
number = 1
while number <= range
temporary_number = number
sum_angstrom = 0
number += number
while(temporary_number != 0)
digit = temporary_number % 10
temporary_number /= 10
sum_angstrom = sum_angstrom + (digit ** 3)
end
if (sum_angstrom == number)
puts number
end
end
Cette fois, j'ai essayé de faire un programme pour montrer les nombres armstrong dans une gamme qui est prise de l'entrée de l'utilisateur. Le programme s'arrête juste après que j'ai entré le numéro et appuyez sur Entrée et je ne peux pas comprendre pourquoi. Gardez à l'esprit que je ne peux pas utiliser pour (chaque), c'est pourquoi j'utilise si souvent.Ruby nombres armstrong dans une gamme
En fait, le programme ne se arrête. Vous ne verrez rien imprimer si la condition 'sum_angstrom == number' est remplie. Vous pouvez utiliser des 'puts' pour déboguer votre programme. – lcguida
Hmm, il devrait normalement imprimer, 1 153 370 371 407, je vais continuer à essayer. –
Je pense que cela a quelque chose à voir avec la façon dont j'imite (nombre + = nombre) à travers les nombres. –