2道和数组有关的题(PASCAL)

来源:百度知道 编辑:UC知道 时间:2024/06/05 00:47:26
*5.输入一个由10个整数组成的序列,其中序列中任意连续三个整数都互不相同,求该序列中所有递增或递减子序列的个数,例如:
输入:1 10 8 5 9 3 2 6 7 4
输出:6
对应的递增或递减子序列为:
1 10
10 8 5
5 9
9 3 2
2 6 7
7 4

**8.编程求出100!的末尾有多少个连续的0;(100!=1×2×3×4×……×99×100)

program NO1;
var i,j,s:integer;
a:array[1..10] of integer;
bz:boolean;
begin
for i:=1 to 10 do
readln(a[i]);
j:=1;
while j<=10 do
begin
bz:=false;
while (a[j]>a[j+1]) and (j<=10) do begin wrie(a[j],' ');j:=j+1;bz:=true;end;
if bz and (j<=10) then writeln(a[j],' ');
if bz then begin s:=s+1;bz:=false;end;
while (a[j]<a[j+1]) and (j<=10) do begin write(a[j],' ');j:=j+1;bz:=true;end;
if bz and (j<=10) then writeln(a[j],' ');
if bz then begin s:=s+1;bz:=false;end;
end;
writeln;
writeln(s);
end.
对不起呀,先输出对应的递增或递减子序列,后输出总数S.

第二题要找方法,2和5可以组成0,所以只要计算5的个数;
program
var i,j,s:integer;
begin
for i:=1 to 100 do
begin
j:=i;
while j mod 5=0 then begin s:=s+1;j:=j div 5;end;
end;
writeln(s);
end.

不知道啊!

.

第一题先找转折元素