一 邏輯題
在一張東景照片上,人們分別戴著帽子,系著圍巾和戴著者手套.只戴帽子的人數與只系圍巾和只戴手套的人數相等:只有4人沒有戴帽子:戴著帽子和系著圍巾,但沒有戴手套的有5人:只戴帽子的人數兩倍于只系圍巾者:未戴手套者8人,未系圍巾者7人:三樣東西都用上了的人比只戴帽子的人多一個.那么請問:多少人同時用上了帽子,圍巾和手套?多少人只戴了手套?多少人只系了圍巾?多少人既戴了帽子,又戴了手套,但沒系圍巾?多少人戴著手套?照片上一共有多少個人?
如果用純代數的方法來做,就這樣。
設:只戴帽子的人數為A,只圍巾B,只手套C,只帽子圍巾D,只帽子手套E,只圍巾手套F,都帶的G 得:
A=B+C(只戴帽子人數與只系圍巾和只戴手套的人數和相等 )
B+C+F=4 (只有4人沒有戴帽子)
D=5(戴著帽子和系著圍巾,但沒有戴手套的有5人)
A=2B(只戴帽子的人數兩倍于只系著巾)
A+B+D=8(未戴著手套者8人)
A+C+E=7(未系圍巾者7人)
G=A+1 (三樣東西都用上了的人比只戴帽子的人多一個)
從D=5 A=2B A+B+D=8 這3個式子開始解
最后得出A=2 B=1 C=1 D=5 E=4 F=2 G=3
二 漢諾塔
#include<iostream>
#include<string>

using namespace std;

void Hanoi(int n,char A,char B,char C);

void main()


{
Hanoi(5,'A','B','C');
}

void Hanoi(int n,char A,char B,char C)


{
if(n==1)
cout<<"Move top disk from peg "<<A<<" to peg "<<C<<endl;
else

{
Hanoi(n-1,A,C,B);
cout<<"Move top disk from peg "<<A<<" to peg "<<C<<endl;
Hanoi(n-1,B,A,C);
}
}

完!