十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

翻转硬币问题

翻转硬币问题 一摞硬币共有n枚,全部正面朝上。第1次翻转第一个硬币第2次最上面的2枚硬币,将整体拿出来倒扣回去第3次最上面的3枚硬币,将整体拿出来倒扣回去如图所示……直至n枚然后再从一枚开始,重复刚才的做法。循环直到这摞硬币又都是正面朝上为止。例如,n为1时,翻两次即可.n为2时,翻3次即可n为3时,翻9次即可n为4时,翻11次即可n为5时,翻24次即可……问翻转次数与n的关系用111表示硬币向上−1-1−1表示硬币向下设一共nnn枚硬币,n1n1n1现考虑从上至下第ttt枚硬币,设翻转次数为sss由带余除法,令snjisnjisnji(j0j0j00in0in0in)由于每翻转一次,翻转位置上面的(包括该翻转位置)硬币被翻面,所以不难证明sss次翻转后第ttt枚硬币的翻转状态S(s,n,t)S(s,n,t) S(s,n,t)(−1)(n−t1)j(i−t1)(−1)nji(1−t)(j1)(−1)s(t−1)(j1)(-1)^{(n-t1)j(i-t1)}(-1)^{nji(1-t)(j1)}(-1)^{s(t-1)(j1)}(−1)(n−t1)j(i−t1)(−1)nji(1−t)(j1)(−1)s(t−1)(j1)当ititit(−1)(n−t1)j(-1)^{(n-t1)j}(−1)(n−t1)j当ititit问题转变为求对于任意1tn1tn1tn使得S(s,n,t)1S(s,n,t)1S(s,n,t)1的最小正整数smins_{min}smin​为此只需考察−1-1−1指数部分的奇偶性事实上简单分析S(s,n,t)S(s,n,t)S(s,n,t)的表达式可发现满足对于任意1tn1tn1tn有S(s,n,t)1S(s,n,t)1S(s,n,t)1的n,sn,sn,s必须满足[sn]\left[ \frac{s}{n} \right][ns​]为偶数且n∣sn|sn∣s显然对固定的nnn满足以上条件的s2kns2kns2kn(k1k1k1)故smin2ns_{min} 2nsmin​2n即对于nnn枚硬币从全部正面朝上开始按题主翻转规则翻转使其再次正面朝上的最小翻转次数是2n2n2n次附详细分析对固定的n(n2)n( n2 )n(n2)要使对于任意1tn1tn1tn有S(s,n,t)1S(s,n,t)1S(s,n,t)1的sss的详细求法分析如下当jjj为奇数时若n∣sn|sn∣s则i0i0i0,从而ttt从111到nnn变化时由于jjj为奇数,(n−t1)j(n-t1)j(n−t1)j会在奇数偶数之间来回变化,不符合要求若nnn不整除sss,由于j1j1j1为偶数,当ttt从111到iii变化时s(t−1)(j1)s(t-1)(j1)s(t−1)(j1)的奇偶性和sss相同,从而sss必须为偶数,而此时若iii不等于n−1n-1n−1由于jjj为奇数当ttt从i1i1i1到nnn变化时(n−t1)j(n-t1)j(n−t1)j会在奇数偶数之间来回变化,不符合要求若in−1in-1in−1当tntntn时由于jjj是奇数有(n−t1)j(n-t1)j(n−t1)j为奇数同样不符合要求当jjj为偶数时若n∣sn|sn∣s,则当ttt从111变动到nnn时,由于jjj为偶数故(n−t1)j(n-t1)j(n−t1)j为偶数符合要求当nnn除sss的余数iii大于等于222时,由于j1j1j1为奇数当ttt从111变动到iii时s(t−1)(j1)s(t-1)(j1)s(t−1)(j1)会在奇数和偶数间来回变化不符合要求当i1i1i1时,ttt取111时s(t−1)(j1)ss(t-1)(j1) ss(t−1)(j1)s,从而sss必须为偶数这样符合要求综上只有满足jjj为偶数,n∣sn|sn∣s或jjj为偶数,i1i1i1,sss为偶数的n,sn,sn,s符合要求但jjj为偶数,i1i1i1时sss显然为奇数这和sss为偶数的要求矛盾故不可能所以当且仅当对固定的nnn有n∣sn|sn∣s且jjj为偶数的n,sn,sn,s符合要求即[sn]\left[ \frac{s}{n} \right][ns​]为偶数且n∣sn|sn∣s也就是对固定的nnn对于任意1tn1tn1tn有S(s,n,t)1S(s,n,t)1S(s,n,t)1的sss必须满足[sn]\left[ \frac{s}{n} \right][ns​]为偶数且n∣sn|sn∣s这样就完成了对sss的推导如果每次对前i个硬币翻转,再逆置问题的难度会变得很大如果用Fs(t)F_s(t)Fs​(t)表示从上到下第ttt个位置在第sss次翻转后其上硬币的翻转状态显然有F0(t)1F_0(t)1F0​(t)1Fs(t)−Fs−1(i1−t)tiF_s(t)-F_{s-1}(i1-t) tiFs​(t)−Fs−1​(i1−t)tiFs−1(t)tiF_{s-1}(t) tiFs−1​(t)ti其中iii是s−1s-1s−1除以nnn的余数加111如果能求出Fs(t)F_s(t)Fs​(t)的数学表达式,直接根据该表达式讨论满足Fs(t)1F_s(t)1Fs​(t)1的最小正整数sss即可但这个递推式如何求解我没有头绪望高手解答
返回列表