如果有一个等差数组,然后对这个数组里面的每个元素做如下操作
1. 如果这个元素是偶数,除以2, 然后得到的数字再分析是否是偶数,如果还是,继续除2,一直除到是奇数,
2. 如果这个元素是奇数,那么就保持原样
这样就得到了另外一个数组,
现在要求根据这个变换后的数组,能否得到变换前的数组,请描述下思路.
比如现在有个数组{1,2,3,4},变换后是{1,1,3,1},那么需要根据{1,1,3,1},得到1,2,3,4.
thihy:
其实很Easy。设原来的数列第一项是a,差值是d。现在的数列首项是b,差值是e。
分情况(这样比较容易思考):
1. a、d都是偶数。不考虑。
2. a是偶数,d是奇数。则知道偶数项(从1开始计数)都是奇数,也即现在的数列与原来的数列中,偶数项是不变的。就可以算出d了。
3. a是奇数,d是偶数。则知道所有项都是奇数,也即不变。
4. a、d是奇数,则奇数项都是奇数,也即不变。
然后求出最小的数组。