- 问答
- 2009-09-10 19:00:14 @
帮帮忙吧
我有个超短的 才10多行
对了前五个
后五个运行时错误106
var n,ans:qword;
i:longint;
begin
readln(n);
ans:=1;
for i:=1 to trunc(sqrt(n)) do
if (ans*2>n) then break
else ans:=ans*2;
n:=(n-ans)*2+1;
writeln(n);
end.
2 条评论
-
maa04 LV 10 @ 2009-09-10 19:00:15
这位童鞋,可能你是没有看清楚题目……
输入的n不超过100位,而不是不超过100。
也就是说,就算你开了qword,你连输入的n都装不下…… -
2009-09-10 11:04:56@
数据
1.input238957374985689201001293894867
3920121988051619837298123195976799936532487653210205753
111355751203567894512120178088080808078232871212153632157899966412000241678977777
21572321002154876321144578999745100254673543573515951230215642315678953214569998795102012357
999979793654269963496991091991429399192991997999799596959939699932931239293493999129492912994919794
2.output161002099914321051628411988391
1710261812639684241162858283352363138590018817686002803
104140403028124004910503667527265198514717278126691326739395366799897438606661091
10552066382957975261994026984940149932523592848376922450253037441687805632926610291269666699
906334224917033964807731070424048115709399280552992975706994096660885978987300036647229237478312677
- 1