我必须找到回文数字,它是三位数字的乘积。我制作的节目适用于2 * 2和3 * 2。但不是3 * 3。为什么?我想不出来。
#initialized variables
x = 999
y = 999
while x > 100
while y > 100
num = x*y
#Reversing the digits
a = num/100000
b = num%100000
c = b/10000
d = b%10000
e = d/1000
f = d%1000
g = f/100
h = f%100
i = h/10
j = h%10
rev = 100000*j+10000*i+1000*g+100*e+10*c+a
#Checking for palindrome
if rev == num
puts num
end
y -= 1
end
x -= 1
end
答案 0 :(得分:1)
在y
的每次迭代后,您都没有将x
重置为999,因此您的程序实际上并未按预期迭代整个值范围。将y = 999
置于while x > 100
下方。
答案 1 :(得分:0)
嗯,你的代码非常简单,除非你正在反转数字。
我建议两个步骤来解决这个问题: