100分求两个简单的算法,希望大家多多帮忙,解决立结!
希望各位把代码贴出来,这样便于交流,谢谢!
一、有九个环,每个环有“上”、“下”两种状态,记为:“∧”和“∨”。开始时九个环均为“上”态,即:∧9∧8∧7∧6∧5∧4∧3∧2∧1。假设我们要改变第i个环的状态(∧i -> ∨i或者∨i ->∧i),则必须满足 ∧i-1∨i-2...∨1 。即只有第i-1环为上态,其他在它前面的环(1->i-2)均为下态,才能够改变i环的状态。现需要将九个均为“上”态的环,改为九个均为“下”态,问至少需要多少步操作(在条件许可下改变任何一个环的状态称为一步)?
二、任给四个不同的正整数,每个正整数最多使用1次,请问这四个正整数能够加和的结果共有多少种,同时请按以下格式列出每种有多少个分布以及不分先后次序的实例。
例如,对于1,2,3,4四个数,输出如下:
加和的结果共有10种,分别是:
1有1种分布:
1 = 1
10有1种分布:
10 = 1 + 2 + 3 + 4
6有2种分布:
6 = 1 + 2 + 3
6 = 2 + 4
....
并且用C/C++或者Pascal语言实现。