C语言 求解这两道题

1.有n个硬币(n为偶数)正面朝上排成一排,每次将n-1个硬币翻成朝上为止。编程让计算机把翻硬币的最简过程及翻硬币次数打印出来(用1代表正面,0代表反面)

2.有一楼梯共N阶,由于年久失修,其中有K阶台阶已损坏(人不能在损坏的台阶上停留),已知某人一次能上一阶,两阶或三阶台阶,请问,此人从楼梯走到楼梯顶部,共有几种走法?

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^