公认最漂亮的解法获得 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);
}
话说这解法要是得分了是给那写书的吗?.....
var i,j:longint;
a,k,l,m:qword;
begin
read(m);
a:=1;
for i:=1 to m do
begin
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;
begin
readln(n);
s:=0;
for i:= 1 to n do
begin
s:=s+ln(i);
end;
s:=s/(ln(10));
s:=s-trunc(s);
m:=exp(s*ln(10));
writeln(trunc(m));
end.
相信PASCAL的精度
program t499;
var
a:int64;
n,c:longint;
begin
read(n); a:=1;
for c:=1 to n do
begin
a:=a*c;
while a>1000000000000 do a:=a div 1000;
end;
while a>10 do a:=a div 10;
write(a);
end.
初来乍到,不会写程序。。。