[quote][i][b]下面是引用Goldendays于2001-12-21 19:08发表的试试你的IQ:[/b][/i]
题目: 键盘输入一个正整数N,去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的
正整数。给定N和S,寻找一种方案使剩下的数字组成的新数最小。
谁能写出它的算法[wdb14][wdb14][wdb14][/quote]
我的语言设计学得很臭屁(注:因为我根本不学计算机),程序我写不上来,也不知道你用什么
程序编写,怎么算却知道,下面用文字表达出来,你看不知对不对?
设计一个函数(用来判断整数N中从左起前S+1个数中的最小数,如有相同最小数,计前一个。记
该最小数的位置为a,直接去掉a前面的a-1个数字,如此定下所求新数的首位)。
那么余下的问题就变为:"键盘输入一个正整数n(删去前几位后的新整数),去掉其中任意S+1-a
个数字后剩下的数字按原左右次序组成一个新的正整数。给定n和S+1-a,寻找一种方案使剩下的
数字组成的新数最小。"
采用递归的方法用上面所设计的函数再来求出所求新数的第2位数、第3位数……一直求出为止。
我没上机测试过,只是自己想到的一种方法,不知对不对?