切换到宽版
  • 4891阅读
  • 1回复

Noip2006pj第4题第9个点为何要用longint [复制链接]

上一主题 下一主题
离线jason
 
只看楼主 正序阅读 0 发表于: 2007-01-06
我的程序
------------------------------------
program sequence(input,output);
var
  i,j,k,n:integer;
  now,result:qword;
begin
assign(input,'sequence.in');
reset(input);
assign(output,'sequence.out');
rewrite(output);
read(k,n);
now:=1;
while (n>0) do
  begin
    i:=n mod 2;
    n:=n div 2;
    result:=result+now*i;
    now:=now*k;
  end;
write(result);
close(input);
close(output);
end.
------------------------------------
第9个点

输入
13 600

标准输出(用longint)
2019422348

我用Qword后的输出
10609356940

请问原因何在?剩下9个点我都过了。
离线397454952a
只看该作者 1 发表于: 2007-03-18
用longint溢出,答案是10609356940才对
快速回复
限100 字节
 
上一个 下一个