一个文件里有10万个随机正整数,按照以下规则能组合出一份新的数据:
A. 如果当前数字能被3整除,那么它和文件中所有数字(包括自己)两两相加后生成一组数字替代自己的位置。
B. 如果不能被3整除,则它只需要乘以二,生成一个数字替代自己的位置。
例如:[3,7,6] 会组合出[6,10,9,14,9,13,12]
再如:[5,12,9,6,2]会组合出[10,17,24,21,18,14,14,21,18,15,11,11,18,15,12,8,4]
写一个程序找出并打印出新数据的最小的前200个数字。请考虑优化算法复杂度。