n的阶乘问题1、n的阶乘定义为n!=1*2*3*……*n 如3!=6通常最后会有很多0,如5!=120 最后有一个0,现在统计n!去除末尾的0后,最后k位是多少?如果n!不止k位,则输出最后k位,如果不足k位,则将剩下的全部
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 04:39:42
![n的阶乘问题1、n的阶乘定义为n!=1*2*3*……*n 如3!=6通常最后会有很多0,如5!=120 最后有一个0,现在统计n!去除末尾的0后,最后k位是多少?如果n!不止k位,则输出最后k位,如果不足k位,则将剩下的全部](/uploads/image/z/6878798-62-8.jpg?t=n%E7%9A%84%E9%98%B6%E4%B9%98%E9%97%AE%E9%A2%981%E3%80%81n%E7%9A%84%E9%98%B6%E4%B9%98%E5%AE%9A%E4%B9%89%E4%B8%BAn%21%3D1%2A2%2A3%2A%E2%80%A6%E2%80%A6%2An+%E5%A6%823%21%3D6%E9%80%9A%E5%B8%B8%E6%9C%80%E5%90%8E%E4%BC%9A%E6%9C%89%E5%BE%88%E5%A4%9A0%2C%E5%A6%825%21%3D120+%E6%9C%80%E5%90%8E%E6%9C%89%E4%B8%80%E4%B8%AA0%2C%E7%8E%B0%E5%9C%A8%E7%BB%9F%E8%AE%A1n%21%E5%8E%BB%E9%99%A4%E6%9C%AB%E5%B0%BE%E7%9A%840%E5%90%8E%2C%E6%9C%80%E5%90%8Ek%E4%BD%8D%E6%98%AF%E5%A4%9A%E5%B0%91%3F%E5%A6%82%E6%9E%9Cn%21%E4%B8%8D%E6%AD%A2k%E4%BD%8D%2C%E5%88%99%E8%BE%93%E5%87%BA%E6%9C%80%E5%90%8Ek%E4%BD%8D%2C%E5%A6%82%E6%9E%9C%E4%B8%8D%E8%B6%B3k%E4%BD%8D%2C%E5%88%99%E5%B0%86%E5%89%A9%E4%B8%8B%E7%9A%84%E5%85%A8%E9%83%A8)
n的阶乘问题1、n的阶乘定义为n!=1*2*3*……*n 如3!=6通常最后会有很多0,如5!=120 最后有一个0,现在统计n!去除末尾的0后,最后k位是多少?如果n!不止k位,则输出最后k位,如果不足k位,则将剩下的全部
n的阶乘问题
1、n的阶乘定义为n!=1*2*3*……*n 如3!=6
通常最后会有很多0,如5!=120 最后有一个0,现在统计n!去除末尾的0后,最后k位是多少?
如果n!不止k位,则输出最后k位,如果不足k位,则将剩下的全部输出
输入n,k
输入:7,2
输出:04
n的阶乘问题1、n的阶乘定义为n!=1*2*3*……*n 如3!=6通常最后会有很多0,如5!=120 最后有一个0,现在统计n!去除末尾的0后,最后k位是多少?如果n!不止k位,则输出最后k位,如果不足k位,则将剩下的全部
program chy1;
const maxn=1000;
var a:array[0..maxn]of longint;
i,j,n,e,m,t,s,q:longint;
begin
readln(n);
a[0]:=1;
for i:=1 to n do begin
e:=0;
for j:=0 to a[maxn] do begin
e:=e+a[j]*i;
a[j]:=e mod 10;
e:=e div 10;
end;
while e>0 do
begin a[maxn]:=a[maxn]+1; a[a[maxn]]:=e mod 10; e:=e div 10; end;
end;
for i:=a[maxn] downto 0 do write(a[i]);
writeln;
s:=a[maxn];
t:=0;
repeat
if a[t]=0 then s:=s-1;
t:=t+1;
until a[t]0;
for i:=s+t downto t do write(a[i]);
read(q);
for i:=q downto t do
write(a[i]);
readln
end.