主题:acm1016问题!
FREE—MAN
[专家分:30] 发布于 2005-07-16 08:22:00
pascal 语言
连接到:http://acm.tongji.edu.cn/problem.php
var
n,i,j:longint;
s:string;
begin
while not eof do begin
readln(n);
j:=1;
for i:=1 to n do j:=j*i;
str(j,s);
writeln(s[2]);
end;
end.
为什么说我错了?
回复列表 (共9个回复)
沙发
drizzlecrj1 [专家分:4230] 发布于 2005-07-16 11:35:00
很有可能是溢出了。
板凳
davidw017 [专家分:4170] 发布于 2005-07-21 17:27:00
楼上说的很好!
这道题的思路如下:
1. 初始化变量 n = 0, m = 1;
2. n = n + 1, m = m * n, 如果 m > 100 则 m = (int)(m \ 10) 直到 m < 100, 重复 2;
3. 输出 m % 10.
3 楼
FancyMouse [专家分:13680] 发布于 2005-07-25 12:20:00
楼上wrong answer
用浮点数直接乘就可以了
4 楼
davidw017 [专家分:4170] 发布于 2005-07-26 12:21:00
3 楼我那个怎么可能哇我就是那么过的……
5 楼
编程王 [专家分:90] 发布于 2005-07-30 13:33:00
program tju1016;
const
maxn=100000;
var
ans:array[4..maxn]of byte;
f:real;
m,i,n:longint;
begin
f:=6;
for i:=4 to maxn do begin
f:=f*i;
while f>100 do f:=f/10;
ans[i]:=trunc(f) mod 10;
end;
read(m);
for i:=1 to m do begin
read(n);
writeln(ans[n]);
end;
end.
=============================================
上面是这题的一种答案!
不知对你有没有用!
6 楼
FREE—MAN [专家分:30] 发布于 2005-08-03 16:50:00
THANK
7 楼
Jonlee [专家分:160] 发布于 2005-08-08 15:21:00
我一般去http://acm.zju.edu.cn做
那个网站不错啊。
8 楼
killercat [专家分:1330] 发布于 2005-08-25 00:56:00
这道题目有一定难度.
9 楼
williamgood [专家分:330] 发布于 2005-10-14 13:22:00
[2] eof(x)
作用:判断文件x是否处于结束状态。其中x为文件型变量。文件结束为true,否则为false 。
我来回复