为什么我的代码在使用 Ruby 语言时会抛出非零退出代码运行时错误?
Why does my code throws a NON ZERO EXIT CODE runtime error while using Ruby language?
我正在尝试使用 Ruby
解决 HackerEarth 问题
问题提供如下link:
https://www.hackerearth.com/problem/algorithm/find-product/
我的问题解决方案在这里:
n = gets.chomp.to_i
a = Array.new
if n <= 1000
n.times do
a << gets.chomp.to_i
end
end
a.each { |m| print m.to_s + " " }
print "\n"
answer = 1
a.each do |m|
answer = ( answer * m ) % ( (10**9) + 7)
end
puts "#{answer}"
该代码抛出运行时非零退出代码 (NZEC)。我无法理解 NZEC 的概念以及我在这段代码中做错了什么。有人可以帮助我了解 NZEC 并找到解决方法吗?
出现NZEC错误是因为,你看问题有点快。
第一行必须包含一个整数 n
,第二行必须包含由 space.
分隔的每个元素
当我启动你的脚本时,似乎我需要在数组的每个条目之间按回车键。所以当你在 hackerhearth 中测试你的代码时,我认为执行失败是因为它在第二次输入后没有收到任何响应。
你的输出也有类似的问题,你在显示答案之前打印了完整的数组。问题定义指定您必须只显示答案。
一种可能的解决方案如下:
n = gets.chomp.to_i
a = gets.chomp.split.map(&:to_i)
answer = 1
a.each do |m|
answer = ( answer * m ) % ( (10**9) + 7)
end
puts "#{answer}"
我正在尝试使用 Ruby
解决 HackerEarth 问题问题提供如下link:
https://www.hackerearth.com/problem/algorithm/find-product/
我的问题解决方案在这里:
n = gets.chomp.to_i
a = Array.new
if n <= 1000
n.times do
a << gets.chomp.to_i
end
end
a.each { |m| print m.to_s + " " }
print "\n"
answer = 1
a.each do |m|
answer = ( answer * m ) % ( (10**9) + 7)
end
puts "#{answer}"
该代码抛出运行时非零退出代码 (NZEC)。我无法理解 NZEC 的概念以及我在这段代码中做错了什么。有人可以帮助我了解 NZEC 并找到解决方法吗?
出现NZEC错误是因为,你看问题有点快。
第一行必须包含一个整数 n
,第二行必须包含由 space.
当我启动你的脚本时,似乎我需要在数组的每个条目之间按回车键。所以当你在 hackerhearth 中测试你的代码时,我认为执行失败是因为它在第二次输入后没有收到任何响应。
你的输出也有类似的问题,你在显示答案之前打印了完整的数组。问题定义指定您必须只显示答案。
一种可能的解决方案如下:
n = gets.chomp.to_i
a = gets.chomp.split.map(&:to_i)
answer = 1
a.each do |m|
answer = ( answer * m ) % ( (10**9) + 7)
end
puts "#{answer}"