您的位置:首页 > 其它

JZOJ1282.【USACO题库】3.2.1 Factorials阶乘

2017-04-01 21:03 288 查看
题目描述

N的阶乘写作N!表示小于等于N的所有正整数的乘积。阶乘会很快的变大,如13!就必须用32位整数类型来存储,70!即使用浮点数也存不下了。你的任务是找到阶乘最后面的非零位。举个例子,5!=1*2*3*4*5=120所以5!的最后面的非零位是2,7!=1*2*3*4*5*6*7=5040,所以最后面的非零位是4。

PROGRAM NAME: fact4

INPUT FORMAT

共一行,一个整数不大于4,220的整数N。

SAMPLE INPUT (file fact4.in)

7

OUTPUT FORMAT

共一行,输出N!最后面的非零位。

SAMPLE OUTPUT (file fact4.out)

4

输入

输出

样例输入

样例输出

数据范围限制

这道题真的水,我好奇怎么是usaco的三部分的题

我猜第一部分随便来道题都比这个难吧…………

代码:

var
n,ans:longint;
begin
readln(n);
ans:=1;
while n<>0 do
begin
ans:=ans*n;
while ans mod 10=0 do ans:=ans div 10;
ans:=ans mod 1000;
dec(n);
end;
writeln(ans mod 10);
end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: