1. 鸡兔同笼问题:
鸡有一头二脚,兔有一头四脚;鸡兔同笼共有头m个、脚n个,问笼中鸡、兔各有多少?
例如输入:4 10
输出:
3
1
var n,m:Qword;
begin
readln(m,n);
writeln( (m*4-n)div 2 );
writeln( m-(m*4-n)div 2 );
end.
2. 最小公倍数
求两个正整数m、n的最小公倍数k。例如输入:12 9 输出:36
var a,b,t:Qword;
function gcd(m,n:Qword):Qword;
begin
if m mod n=0 then gcd:=n else gcd:= gcd(n,m mod n) ;
end;
begin
readln(a,b);if a<b then begin t:=a;a:=b;b:=t;end;writeln( a*b div gcd(a,b) );
end.
3. 汉诺塔问题
将A柱上的圆盘移到C柱。移动规则如下: 1、一次只能移动一个盘; 2、不允许把大盘放在小盘上。 第一行只有一个正整数:k,表示总移动次数
接下来的k行,每行是一种移动方法。例如输入3
输出
7
A->C
A->B
C->B
A->C
B->A
B->C
A->C
var
k,n,i:longint;
procedure try(a,b,c:char;m:longint);
begin
if m=1 then writeln( a,'->',c )
else
begin
try( a,c,b,m-1 或a,c,b, m div 2 );
writeln(a,'->',c);
try( b,a,c,m-1 或 b,a,c,m div 2 );
end;
end;
begin
readln(n);
k:=1;
for i:=1 to n do
(k:=k*2) ;
writeln(k-1);
try( 'A','B','C',n ('A','B','C',K-1) );
end.