讨论 / 绝对有问题!请问这种问题的产生源头……
狼崖雪 2010-09-08 09:22:00
点我顶贴 收藏 删除
老规矩,先贴程序(只是礼貌,没必要读我的程序哪)……

program wolf;

var

jz:array[0..10] of integer=(1,2,4,8,16,32,64,128,256,512,1024);

qw,sc:array[0..10] of longint;

zc,k,j,n,i,max:longint;

begin

readln(k,n);

zc:=0;

repeat

inc(zc);

for i:= 0 to 10 do

if jz[i]>=n then break;

if jz[i]=n

then

begin

n:=n-jz[i];

qw[zc]:=i;

end

else

begin

n:=n-jz[i-1];

qw[zc]:=i-1;

end;

until n=0;

for i:= 1 to zc do

begin

max:=1;

for j:= 1 to qw[i] do

begin

max:=max*k;

end;

sc[i]:=max;

end;

max:=0;

for i:= 1 to zc do

max:=max+sc[i];

writeln(max);

end.

一遍AC,一开始倍儿高兴,可后来发现,我算了一下,似乎从K=12开始,N=1000左右的数据在用longint运算时就会出现215错误。。。。。。(溢出错误吧……)

看了大家的讨论,知道是数据的错误,但我实在是没看明白……囧RZ……求大牛赐教……

查看更多回复
提交回复