L
lebronjames
Unregistered / Unconfirmed
GUEST, unregistred user!
定义一个数组,二维.假设是aw,aw[j]分别表示数字的上限(i)和下限(j),i长度未知.j=0和1.
bw是一个一维数组.bw=aw[0]里的i是对应的;
现在要实现这样一个算法,就是每当数组bw=aw[j]的上限时候就向前一个单元进位,也就是bw[i-1]:=bw[i-1]+1;当产生进位之后,原来的bw:=aw[1];
这样一直循环直到bw[0]=aw[0][0];
我写了个算法,但是无法判断新进位后产生的第2次进位,说白了也就是递归没写好.
比如1 1 5 5,这时最后一个5产生进位(不包含0),
就应当是1 2 1 1,而我的算法就是1 1 6 1,问题就在这.再运算一次,产生进位,但是就无法产生1 2 1 1,而是1 2 1 2了.
我现在脑袋是晕的..请帮我一下..谢谢谢谢!所有的分数相送.
举个例子:
假如aw[0][0]:=14,aw[0][1]:=3,aw[1][0]:=15,aw[1][1]:=2
那么每次bw[1]=15的时候就向前进一位,步骤:bw[1]:=2,每次+1,当aw[1][0]=15的时候,进位,bw[0]=3,然后bw[1]:=2;再加一....一直循环到bw[0]=14.就跳出循环..
就是这个意思..
bw是一个一维数组.bw=aw[0]里的i是对应的;
现在要实现这样一个算法,就是每当数组bw=aw[j]的上限时候就向前一个单元进位,也就是bw[i-1]:=bw[i-1]+1;当产生进位之后,原来的bw:=aw[1];
这样一直循环直到bw[0]=aw[0][0];
我写了个算法,但是无法判断新进位后产生的第2次进位,说白了也就是递归没写好.
比如1 1 5 5,这时最后一个5产生进位(不包含0),
就应当是1 2 1 1,而我的算法就是1 1 6 1,问题就在这.再运算一次,产生进位,但是就无法产生1 2 1 1,而是1 2 1 2了.
我现在脑袋是晕的..请帮我一下..谢谢谢谢!所有的分数相送.
举个例子:
假如aw[0][0]:=14,aw[0][1]:=3,aw[1][0]:=15,aw[1][1]:=2
那么每次bw[1]=15的时候就向前进一位,步骤:bw[1]:=2,每次+1,当aw[1][0]=15的时候,进位,bw[0]=3,然后bw[1]:=2;再加一....一直循环到bw[0]=14.就跳出循环..
就是这个意思..