Pascal帮帮手2

来源:百度知道 编辑:UC知道 时间:2024/06/21 00:55:39
1.把4位数各个数字拆开,然后重新组成一个新的四位数
列:6378=6*1000+3*100+7*10+8
2.输入n,输出1到n中的所有完全数
3.费波那契数列的前20项
4.数列A1,A2,A3,A4……。已知A1=0,A2=1,A3=1,A4=A1+2*A2+A3.A5=A2+2*A3+A4……输出求出前20项

唉~~~
第一题 可以直接输入字符串,或者将数字转化为字符串,然后直接输出。也可以像上面那位,分解。

第二题,完全数是什么???

第三
用递归

function f(n:integer);integer;
begin
.if n=1 f:=1
..else
...if n=2 f:=1
....else
......f;=f(n-1)+f(n-2);
end.

begin
...readln(n);
...write(f(n));
end.

第4 同样是递归

function a(n:integer):integer;
begin
..if n=1 a:=0
...else if ((n=2)or(n=3)) then a:=1
......else a:=a(n-3)+2*a(n-2)+a(n-3);
end;

begin
readln(n);
writeln(a(n));
end.

1。
program detach;
var
a,b,c,d,n:integer;
begin
writeln('input a number');
readln(n);
if (n div 1000<1) or( n div 1000>9)
then exit;
a:=n div 1000; n:=n mod 1000;
b:=n div 100; n :=n mod 100;
c:=n div 10; n:=n mod 10;
d:=n;
write(a,'*1000 + ',b,'*100 + ',c,'*10 + ',d);
readln;
en