阅读以下说明和流程图,回答问题。 [说明] 从键盘输入一个高精度正整数n,去掉其中s个数字后按原左右次序再组成一个新的正整数。对给定的n,要寻找一种方案,使得余下的数字组成的新数最小。 算法分析: 每次删除一个数字,选择一个使余下的数最小

admin2009-02-15  51

问题 阅读以下说明和流程图,回答问题。
[说明]
   从键盘输入一个高精度正整数n,去掉其中s个数字后按原左右次序再组成一个新的正整数。对给定的n,要寻找一种方案,使得余下的数字组成的新数最小。
   算法分析:
   每次删除一个数字,选择一个使余下的数最小的数字作为删除对象。当s=1时,在n中删除哪一个数字能达到最小的目的?从左到右每相邻的两个数字比较:若出现减,郎左边大于右边,则删除左边的大数字;若不出现减,即所有数字全部升序,则删除最右边的大数字。当s>l(当然小于n的位数),按上述操作一个一个删除,删除一个达到最小后,再从头即从串首开始,删除第2个,依此分解为s次完成。若删除不到s个后已无左边大于右边的减序,则停止删除操作,打印余下串的左边L-s个数字即可。(x为统计删除数字的个数,m=1表示脱离循环,L为n的长度)。
[流程图]

[问题]
   将流程图中的(1)~(5)处补充完整。

选项

答案(1)s>x&&m=0 (2)1-x-L (3)a(i)=a(k+1) (4)m=1 (5)for(i=li<1-s;i++)

解析
转载请注明原文地址:https://kaotiyun.com/show/pojZ777K
0

最新回复(0)