Ruby程序:在一个数字的阶乘的n次幂后面加零
Ruby Program : Trailing zeros in the nth Power of a numbers factorial
我正在尝试将c++代码移植到Ruby。运行脚本会显示"执行超时"错误。
这是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
尾随零的个数
我会在Ruby中这样写计算:
a = 100
b = 10
((1..a).inject(:*)**b).to_s[/0*$/].size
#=> 240
其中(1..a).inject(:*)
计算a!
, **b
为指数函数,to_s
将数字转换成字符串,[/0*$/]
提取所有尾零,size
计数…
相关文章:
- 在 C++ 中的数组上使用阶乘函数
- 阶乘问题在 c++ 中给出错误的输出
- 大数的阶乘给出错误的输出
- 什么模板用法在阶乘中更好
- 为什么我在C++阶乘函数中出现编译错误?
- 计算阶乘的 C++17 倍表达式中的错误
- 为什么 Lisp 中 1000 阶乘的计算如此之快(并显示正确的结果)?
- 在C++中执行 N 阶乘编译时间的 3 种不同/相同方法
- 平方模型为零,阶乘模型问题
- 阶乘元规划
- 阶乘-c++ 我想以不同的方式打印
- 阶乘函数只返回C++中输入的答案
- 计算最大数字的阶乘
- 带有自定义数字的阶乘函数不起作用
- N 阶乘中有多少位数字
- 在 C++ 中,数字阶乘的自写代码中的错误
- 程序以查找数字的阶乘并为负整数输入提供错误消息
- c++中带字符串的大数字的阶乘
- Ruby程序:在一个数字的阶乘的n次幂后面加零
- 是否有可能在编译时计算数字的阶乘,但不使用枚举?