var i,c,n:longint;
begin
readln(n);
c:=1;
for i:=n downto 1 do
c:=c*n;
while ((c mod 10)=0) do c:=(c div 10);
c:=(c mod 10);
end;
writeln(c);
end.
结果只对了第一个点,呜呜
每次运算只保留最后一位非零的数进行计算
这样可能出现的结果是
比如说 912 保留 2
然后 进行 乘15
结果分别是 13680 30
是因为乘的时候产生进位导致前一位也为0
n最大200W 进位产生的影响7,8位的样子 所以保留8位非零的进行运算就行了
快速帮助 | 运行状态 | 反馈举报 | 关于我们 | 免责声明 | 浙ICP备11060257号 Processed in 0.0035 Second(s) Copyright (C) RQNOJ 2007-2019. All Rights Reserved.