公认最漂亮的解法获得 wish 提供积分20~
PS:已经知道我的解法的人,贴上我的解法不算数
#include<stdio.h>
main()
{
unsigned long long i,j,k,l,m;
unsigned long long a=1;
scanf("%I64d",&m);
for(i=1;i<=m;i++)
{a*=i;
while(a>1000000000)
a/=10;
}
for(i=1;i<=a;i*=10);
i/=10;
printf("%ld",a/i);
常数卡得太强了...
用string就TLE...
我真的无语了。。。
最大的数据只有 200W 左右
另外好的方法也不会被卡掉
话说这解法要是得分了是给那写书的吗?.....
var i,j:longint;
a,k,l,m:qword;
begin
read(m);
a:=1;
for i:=1 to m do
a:=a*i;
while a>1000000000 do a:=a div 10;
end;
while a>=10 do a:=a div 10;
write(a);
end.
var i,j,k,n:longint;
s,m:real;
readln(n);
s:=0;
for i:= 1 to n do
s:=s+ln(i);
end;
s:=s/(ln(10));
s:=s-trunc(s);
m:=exp(s*ln(10));
writeln(trunc(m));
相信PASCAL的精度
program t499;
var
a:int64;
n,c:longint;
read(n); a:=1;
for c:=1 to n do
a:=a*c;
while a>1000000000000 do a:=a div 1000;
while a>10 do a:=a div 10;
write(a);
初来乍到,不会写程序。。。
快速帮助 | 运行状态 | 反馈举报 | 关于我们 | 免责声明 | 浙ICP备11060257号 Processed in 0.0044 Second(s) Copyright (C) RQNOJ 2007-2019. All Rights Reserved.