翻硬币有关问题,求思路求算法
翻硬币问题,求思路求算法!
有N个硬币(6<=N<=30)正面朝上排成一排,每次将5个硬币翻过来放在原位置,直到最后全部硬币翻成反面朝上为止。编程让计算机找出步数最少的翻法并把翻币过程及次数打印出来(用o表示正面,x表示反面,‘o’和‘x’均为小写字母)。
输入:一行,整数N
输出:如果有解,从步骤0开始输出各步骤,step后面的步骤数为长度为两位的整数,如果无解,输出“have not solution”。
样例输入
11
样例输出
step 0:ooooooooooo
step 1:*****oooooo
step 2:oo******ooo
step 3:***********
------解决方案--------------------
数学方法解决翻硬币问题
有N个硬币(6<=N<=30)正面朝上排成一排,每次将5个硬币翻过来放在原位置,直到最后全部硬币翻成反面朝上为止。编程让计算机找出步数最少的翻法并把翻币过程及次数打印出来(用o表示正面,x表示反面,‘o’和‘x’均为小写字母)。
输入:一行,整数N
输出:如果有解,从步骤0开始输出各步骤,step后面的步骤数为长度为两位的整数,如果无解,输出“have not solution”。
样例输入
11
样例输出
step 0:ooooooooooo
step 1:*****oooooo
step 2:oo******ooo
step 3:***********
------解决方案--------------------
数学方法解决翻硬币问题