求几道pascal题目的解法1.数字矩阵:输入一个数字你,输出一个数字矩阵,例如:输入4,则输出 1234 2341 3412 41232.四位数黑洞6174 把一个四位数的四个数字由小至大排列,组成一个新数,又由大至
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 01:42:27
求几道pascal题目的解法1.数字矩阵:输入一个数字你,输出一个数字矩阵,例如:输入4,则输出 1234 2341 3412 41232.四位数黑洞6174 把一个四位数的四个数字由小至大排列,组成一个新数,又由大至
求几道pascal题目的解法
1.数字矩阵:输入一个数字你,输出一个数字矩阵,例如:输入4,则输出
1234
2341
3412
4123
2.四位数黑洞6174
把一个四位数的四个数字由小至大排列,组成一个新数,又由大至小排列排列组成一个新数,这两个数相减,之后重复这个步骤,只要四位数的四个数字不重复,数字最终便会变成 6174.
例如 3109,9310 - 0139 = 9171,9711 - 1179 = 8532,8532 - 2358 = 6174.而 6174 这个数也会变成 6174,7641 - 1467 = 6174.
编程输出每一步:
3.十进制转换:将十进制数转换成二进制数,并输出,例如,输入:10 则输出1010
4.打印杨辉三角 (a+b)^n
例如:输入5,则输出如下图形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
最好用一维数组的相关内容做,谢谢
求几道pascal题目的解法1.数字矩阵:输入一个数字你,输出一个数字矩阵,例如:输入4,则输出 1234 2341 3412 41232.四位数黑洞6174 把一个四位数的四个数字由小至大排列,组成一个新数,又由大至
1.
var
n,i,j:longint;
a:array[1..10000]of longint;
begin
readln(n);
for i:=1 to n do //初始化数组
a[i]:=i;
j:=0;
for i:=1 to n do //每一行
begin
j:=j+1;
for k:=j to n do write(a[k],' '); //输出
for k:=1 to j-1 do write(a[k],' '); //输出
writeln; //换行
end;
end.
2.
var
a:array[1..4]of integer;
i,j,k,n,max,min,t:integer;
begin
readln(n);
max:=n;min:=0;
while max-min6174 do //当差为6174则跳出循环
begin
i:=0;n:=max-min;
while n0 do //求新的数组
begin
i:=i+1;
a[i]:=n mod 10;
n:=n div 10;
end;
for i:=1 to 3 do //排序
for j:=1 to 4-i do
if a[j+1]>a[j]then
begin
t:=a[j+1];
a[j+1]:=a[j];
a[j]:=t;
end;
max:=0;min:=0;
for i:=1 to 4 do max:=max*10+a[i]; //最大
for i:=4 downto 1 do min:=min*10+a[i]; //最小
writeln(max,'-',min,'=',max-min); //输出步骤
end;
writeln('7614-1467=6174'); //最后输出
end.
3.
var
a:array[1..100]of integer;
n,i,j:integer;
begin
readln(n);
i:=0;
while n0 do //除2求余
begin
i:=i+1;
a[i]:=n mod 2;
n:=n div 2;
end;
for j:=i downto 1 do //逆序输出
write(a[i]);
writeln;
end.
4.
var
a:array[1..100,1..100]of longint;
i,j,n:longint;
begin
readln(n);
a[1,1]:=1;
for i:=2 to n do //填写
begin
a[i,1]:=1;a[i,i]:=1;
for j:=2 to i-1 do
a[i,j]:=a[i-1,j]+a[i-1,j-1];
end;
for i:=1 to n do
begin
if i10 then write(' ':n*3-3*i); //输出格式
for j:=1 to i do
write(a[i,j]:6);
writeln;
end;
end.
看了一下题目,蛮简单的.注释也写了,还有不懂的追问我,我会回答你的.