思路解析
- 开两个数组,a数组用来记录关键字,b数组用来存储前面的数已经覆盖不用继续再判断的数。
- 判断一个数时,先判断b数组中有没有这个数,如果有,直接判断下一个数,如果没有,把这个数存进a数组,然后把这个数在递推过程中产生的数都存进b数组,直到最后一个数。
- 对a数组进行递减排序然后输出。注意格式。
升级版思路解析
借用c++的vector可直接扩充输入的n,输入一个数,判断一次,同时开一个数组大小为10000,(实验证明开到5000也可以),将每一个递推过程中产生的数置为1,最后排序直接输出0的数即可。
还是要多练啊…
代码详见