讨论 / 奇妙的问题,奇妙的解法
wish 2013-04-27 05:41:00
点我顶贴 收藏 删除
欢迎大家踊跃贴出自己的解法~~~谨供参考

公认最漂亮的解法获得 wish 提供积分20~

PS:已经知道我的解法的人,贴上我的解法不算数

#1 zrp@2009-07-06 01:08:00
回复 删除
...你那P.S.是针对我的吧....
#2 zrp@2009-07-06 01:13:00
回复 删除
那么我就贴自己的WS做法了

#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);

}

#3 Jollwish@2009-07-06 01:13:00
回复 删除
此题属于变态题...

常数卡得太强了...

用string就TLE...

我真的无语了。。。

#4 Jollwish@2009-07-06 01:14:00
回复 删除
100000000就够了吧
#5 wish@2009-07-06 01:16:00
回复 删除
这一题不是常数题

最大的数据只有 200W 左右

另外好的方法也不会被卡掉

#6 zrp@2009-07-14 00:58:00
回复 删除
http://www.rqnoj.cn/Solution_Show.asp?DID=4777

话说这解法要是得分了是给那写书的吗?.....

#7 jerryR1@2009-08-08 05:26:00
回复 删除
不知道我的解法行不行∩_∩

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.

#8 大葱大豆@2010-06-26 05:51:00
回复 删除
program try111;

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的精度

#9 tzh@2010-08-13 07:11:00
回复 删除
看看我的

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.

初来乍到,不会写程序。。。

#10 flyfire2002@2010-08-13 07:17:00
回复 删除
看到了1<=N<=3141592我就明白了这是什么鸟题。我自己暴力破解16位大小写字母+数字+符号密码都比这个数据量小
查看更多回复
提交回复