测评机: Xeost[5]
得分: 70分
提交日期: 2008-9-9 21:48:00
有效耗时: 485毫秒
测试结果1: 通过本测试点|有效耗时203:ms
测试结果2: 通过本测试点|有效耗时47:ms
测试结果3: 通过本测试点|有效耗时47:ms
测试结果4: 测试结果错误.错误结果为:1396
正确结果应为:1430
测试结果5: 通过本测试点|有效耗时47:ms
测试结果6: 通过本测试点|有效耗时47:ms
测试结果7: 测试结果错误.错误结果为:2645438
正确结果应为:2674440
测试结果8: 通过本测试点|有效耗时47:ms
测试结果9: 通过本测试点|有效耗时47:ms
测试结果10: 测试结果错误.错误结果为:1672247982
正确结果应为:1767263190
提交代码: program rq332(input,output);
var n,i:integer;
s:qword;
begin
readln(n);
s:=1;
for i:=n+2 to 2*n do
begin s:=s*i;
s:=s div (i-n);
end;
write(s);
end.
莫非公式不对?
sum:=1/(n+1)*C(2n,n)
关键在于:你用div,当时不一定整除,把它记录,到最后在
div!!!
var n,i,t:longint;
s:qword;
a:array[1..100] of integer;
begin
readln(n);
s:=1;
t:=0;
for i:=n+2 to n*2 do
begin
s:=s*i;
if s mod (i-n)=0 then s:=s div (i-n)
else begin
inc(t);
a[t]:=i-n
end
end;
for i:=1 to 20 do
if a[i]<>0 then s:=s div a[i];
writeln(s)
end.
AC!!