1
我試圖將C++代碼移植到Ruby。 運行腳本會給我一個「執行超時」錯誤。Ruby程序:第n個冪尾隨零的因數
這是Ruby代碼:
t = gets.to_i
t.times do
a = gets.to_i
b = gets.to_i
c = 0
j = 5
until j <= a do
j*5
c += a/j
end
puts c*b
end
這是C++代碼:
#include<iostream>
main()
{
long t, a, b, i = 0, j, c;
std::cin >> t;
for(; i < t ; i++)
{
std::cin >> a >> b;
c = 0;
for(j = 5 ; j <= a ; j *= 5)
c += a/j;
std::cout << c * b << '\n';
}
}
我的輸入是:
2
100
10
5
4
任何我的輸出是:
240
4
有兩種測試情況:
- 零的
(100!)^10
- 尾隨零的
(5!)^4
您需要聲明一個問題。另外,預期輸出的例子會有所幫助。感謝 –
注意縮進問題,並且你的循環與C++相比,在ruby程序中是相互依賴的。你的程序在輸入1 10時工作得很好。但是其他的,它正在進行折騰。 – Vasif
在ruby示例中,您沒有將'j * 5'指定回'j' – David