我正在尝试让这个程序在lua中计算一个数字的工作量,除了这一行代码之外,一切都有效。这是代码:
function factor(a)
print("factoring: " .. a)
print()
totali = 0
totaldiv = 0
for i = 1, a do
if (a%i == 0) then
if (i<a) then
totaldiv = totaldiv + 1
end
print(i)
i = i + 1
totali = totali + 1
else
i = i + 1
end
end
if totali == 2 then
print("That is a prime number!")
elseif totaldiv == a then
print("That is a perfect number!")
end
end
io.write("Enter a number to factor: ")
some = io.read()
factor(some)
io.read()
我所看到的进攻线是if (i<a) then
。
我究竟做错了什么?
谢谢!
答案 0 :(得分:1)
if (i<tonumber(a)) then
应该有效
您请求输入,该输入将作为字符串返回
因此,您无法if (i<a) then
,因为您需要通过<
比较数字和字符串。
你根本无法说,2小于4&#39;