问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

烦恼:PASCAL

发布网友 发布时间:2022-09-03 20:48

我来回答

4个回答

热心网友 时间:2024-10-14 04:44

1、 约瑟夫(joseph)
n个人站成一圈,从某个人开始数数,每次数到m的人就被杀掉,然后下一个人重新开始数,直到最后只剩一个人。
现在有一圈人,k个好人站在一起,k个坏人站在一起。从第一个好人开始数数。
你要确定一个最小的m,使得在第一个好人被杀死前,k个坏人先被杀死。
输入
一个k,0<k<14
输出
一个m

样例:
输入
3
输出
5
另一个样例:
输入
4
输出
30

2、子数整数
对于一个五位数a1a2a3a4a5,可将其拆分为三个子数:
sub1=a1a2a3
sub2=a2a3a4
sub3=a3a4a5
例如,五位数20207可以拆分成
sub1=202
sub2=020(=20)
sub3=207
现在给定一个正整数K,要求你编程求出10000到30000之间所有满足下述条件的五位数,条件是这些五位数的三个子数sub1,sub2,sub3都可被K整除。
输入
输入由键盘输入,输入仅一行,为正整数K(0<K<1000)。
输出
输出到文件,输出文件的每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出“No”。
样例
输入
15
输出
22555
25555
28555
30000

3、到天宫做客
有一天,我做了个梦,梦见我很荣幸的接到了猪八戒的邀请,到天宫陪他吃酒。我犹豫了。天上一日,人间一年啊!当然,我是个闲人,一年之中也没有多少时日是必须在人间的,因此,我希望选一个最长的空闲时间段,使我在天上待的时间尽量长。记住,今年是4000年。天上一天也是24小时,每小时60分,每分60秒。
输入
输入文件的第一行是一个非负整数 N,表示4000年中必须呆在人间的天数,以下共N行,每行两个用空格隔开的正整数,即日期(月,日),输入文件保证无错误,日期无重复。
输出
输出文件仅有一行包含一个非负整数,即在天上的时间(四舍五入精确到秒)。
样例
输入
2
3 8
12 2
输出
63266
约瑟夫:
program joseph;
var
n,i,ans:longint;
pc:array [1..100] of boolean;

procere init;
begin
assign(input,'joseph.in');
reset(input);
readln(input,n);
close(input);
end;

procere print(x:longint);
begin
assign(output,'joseph.out');
rewrite(output);
writeln(output,x);
close(output);
halt;
end;

procere test(x:longint);
var
i,jl,js:longint;
pd:boolean;
begin
fillchar(pc,sizeof(pc),true);
jl:=0;
pd:=true;
for i:=1 to n do begin
js:=0;
repeat
inc(jl);
if jl>2*n then jl:=jl mod(2*n);
if jl=0 then jl:=2*n;
if pc[jl]=true then inc(js);
until js=x;
pc[jl]:=false;
if jl<=n then begin
pd:=false;
break;
end;
end;
if pd=true then print(x);
end;

begin
init;
i:=n;
repeat
inc(i);
test(i);
until i>maxlongint;
end.
Program heaven;
const
day:array[1..12]of shortint=(31,29,31,30,31,30,31,31,30,31,30,31);
var
n,i,j,x,max,t:longint;
m,d:array[1..1000]of integer;
begin
assign(input,'heaven.in');
assign(output,'heaven.out');
reset(input);
rewrite(output);
readln(n);
for i:=1 to n do
readln(m[i],d[i]);
for i:=1 to n-1 do
for j:=i+1 to n do
if (m[i]>m[j])or(m[i]=m[j])and(d[i]>d[j]) then begin
t:=m[i];
m[i]:=m[j];
m[j]:=t;
t:=d[i];
d[i]:=d[j];
d[j]:=t;
end;
j:=1;
max:=0;
x:=0;
for i:=1 to 12 do
if i<>m[j] then x:=x+day[i]
else begin
repeat
x:=x+d[j]-1;
if x>max then max:=x;
inc(j);;
x:=0;
until i<>m[j];
x:=x+31-d[j-1];
end;
writeln(max/366*24*60*60:0:0);
close(input);
close(output);
end.
【程序2】
const day:array[1..12] of integer = (31,29,31,30,31,30,31,31,30,31,30,31);
var i,n,j:byte;
k:array[0..254] of word;
s:real;
a:array[0..254,1..2] of integer;
begin
read(n);
for i:=1 to n do
begin
read(a[i,1]);
read(a[i,2]);
end;
a[0,1]:=1;a[0,2]:=0;
a[n+1,1]:=12;a[n+1,2]:=32;
for i:=0 to n do
for j:=a[i,1] to a[i+1,1] do
begin
if a[i,1]=a[i+1,1] then k[i]:=a[i+1,2]-a[i,2]
else if j=a[i,1] then k[i]:=day[a[i,1]]-a[i,2]-1
else if j=a[i+1,1] then k[i]:=k[i]+a[i+1,2]
else k[i]:=k[i]+day[j];
end;
for i:=1 to n-1 do
if k[i]<k[i+1] then s:=k[i-1] else s:=k[i];
s:=s/366*24*60*60;
writeln(s:0:0);
end.

热心网友 时间:2024-10-14 04:45

一、 选择一个正确的答案代码,填入每题括号内。
1. 信息技术的英语缩写是
A. OS B . CAD C. IT D. CAI
2. ASCII 码 主要作用是
A. 便于信息交换 B. 便于信息存贮藏 C. 便于管理 D. 便于输出
3. 表达式10DIV 4+15MOD2的值是
A. 1 B. 9 C. 3 D.3.5
4. 在计算机领域中,媒体是指
A. 计算机的输入输出信息 B. 各种信息的编码
C. 表示和传播信息的载体 D. 计算机屏幕显示的信息
5. 计算机网络最主要的优点是
A. 运算速度快 B. 共享资源 C. 精度高 D. 存储容量大
6. 现在的计算机通常是将处理程序放在连续的内存地址只. CPU在执行这个处理程序时,是使用一个叫 的寄存器来指示程序的执行顺序.
A. 累加寄存器 B. 指令寄存器
C. 内存地址寄存器 D. 指令地址寄存器
7. TCP/IP 协议是指
A. 文件传输协议/远程登录协议
B. 邮件传输协议/远程登录协议
C. 传输控制协议/因特网互联协议
D. 文件传输协议/邮件传输协议
8. PASCAL 编译程序的功能是
A. 把PASCAL源程序转换成可运行的EXE文件
B. 生成和修改一个PASCAL 源程序
C. 实现PASCAL 的目标码程序到可运行的EXE问的转换
D. 实现PASCAL 的源程序到等价的目标码程序的转换
9. 根据<计算机软件保护条例>, 中国公民开发的软件享有著作权的是
A. 不论何人,何地及发表与否的软件
B. 只有公开发表的软件
C. 只有单位发表的软件
D. 只有个人在国内开发表的软件
10. 与二进制小数0.1等值的十六进制小数为
A.0.8 B. 0.4 C. 0.2 D. 0.1
11. 下面是4个不同的进制的数,最大的一个是
A. (1A5)16 B. (432)10 C. (543)8 D. (101001000)2
12. 为了提高软件测试的效率,应该
A. 随机地选取测试数据
B. 取一切可能的输入数据作为测试数据
C. 在完成编码后制定软的测试计划
D. 选择发现错误的可能性大的测试数据
13. 结构化程序设计的一种基本方法是
A. 归纳法 B. 逐步求精法 C. 递归法 D. 筛选法
14.调用下列函数返回的值是
function digit (n,k:integer):integer;
begin
digit:=0;
while k>0 do
begin
digit := n mod 10
n:= n div 10;
k:= k-1
end;
end;
A. n 的从右边开始的第k位数字值
B. n的从左边开始的第k位数字值
C. n 除以 10个K次芳 的商
D. n的位数
15. 一个栈的入栈列是 a, b, c, d, e则不可能的出栈序列是
A. e d c b a B. d c e a b C. d e c b a D. a b c d e
16. 电子邮件地址中的用户名与网络服务器主机名之间连接的符号为
A. # B. 下划线 C. @ D. 空格
17. 一棵完全二叉树的结点总数为18 其叶结点数为
A. 7个 B. 8个 C. 9个 D. 10个
18. 已知某二叉树的后序遍历序列是dabec, 中序遍历序列是debac 则它的前序遍历序列是
A. a c b e d B. d e c a b C. d e a b c D. c e d b a
19. 对按关键字排序的线性表进行二分查找,该线行表适合的存储结构为
A. 顺序存储 B. 链接存储 C. 索引存储 D. 散列存储
20. 操作系统是对 进行管理的系统软件
A. 软件 B. 硬件 C. 计算机资源 D. 应用程序
二, 问题求解
第1题, 用1个或多个互不相同的正整数之和表示1~511之间的所有整数
① 至少要多少个不同的正整数
② 这些正整数是
第2题, 在有m行n列格子的棋盘内,一枚棋子从棋盘的左上角格子沿上,下,左,右方向行走,最后走到棋盘的右下角格子.该棋子走过的格子数为奇数的充分必要条件是
三,写出程序的运行结果
第1题, program myt1;
var a,b:integer;
procere pl(x:integer; var y:integer);
begin
x:=x+y
y:=x+y
end;
begin
a:=a; b:=8;
pl(a,b); writeln(a:3,b:3)
pl(b-a,b); writeln (a:3,b:3)
readln
end.
输出:
第2题, program myt2;
var I,j:integer;
a:array[1…3,1…3] of integer;
begin
for I:= 1 to 3 do
begin
for j:=1 to 3 do
begin
if I=3 then a[I,j]:=a[I-1,j]]+1
else a[I,j]:=j;
write (a[I,j]);
end;
writeln
end;
redln
end.
输出:
第3题, program myt3;
const n=10;
function fn(n:integer):integer;
begin
if n<1 then fn:=0
else if n=1 then fn :=1
else fn:=fn(n-1)+n;
end;
begin
writeln(fn(n));
readln
end.
输出:
第4题, program myt4;
const n=7;
var p:array [0…n] of integer;
b:array[0…n] of integer;
I,s,t:integer;
Begin
For I:=9 to n do
Begin
P[I]:=I+1;
B[I]:=1;
End;
I:=0;t:=0;s:=0;
While t<=n do
Begin
S:=s+b[I];
If odd (s) and (b[I]=1) then
Begin
Write (p[I]:3);
T:=t+1;
B[I]:=0;
End;
I:=(I+1) mod (n+1);
End;
Writeln;
Readln
End.
输出:
四, 完善程序
第1题 ,求元素之和最大的子方阵:在m*n(m,n<=20)的正整数数字方阵中,找出一个p*q的子阵(1<=p<=m,1<=p<=n)使其元素之和最大。例如,下面5*4的数字阵中,元素之和最大的一个2*3子阵。
5*4数字阵 元素之和最大的2*3子阵为:

3 8 4 22
11 1 7 9
5 21 6 2
0 3 8 9
2 7 12 3
5 21 6
10 3 8
Program myt5;
Var a:array[1…20,1…20] of integer;
M,np,q,I,j,max,p1,q1,s,i1,j1:integer;
Begin
For I:=1 to 20 do
For j:=1 to 20 do
A[I,j]:=0
Readln(m,n);
For I:=1 to m do
Begin
For j:=1 to n do read(a[I,j];
Readln
End;
Readln(p,q);
Max:=0;
For I:=1 to m-p+1 do
For j:=1 to n-q+1 do
Begin
① ;
for i1:= I to p+I+1 do
for j1:=j to q+j-1 do
② ;
if s>max then begin
③ ;
p1:=I;
q1:=j
end;
end;
for I:=p1 to ④ do
begin
for j:=q1 to ⑤ do
write (a[I,j]:3;
writeln
end;
readln
end.
第2题 菲波拉契数列为1,1,2,3,5,8,13,21,…,其元素产生的规则是前两个数为1 ,第三个数开始每个数等于它前面两个数之和。已知任意一个正整数可以表示为若干个互不相同的菲波拉契数之和。
例如: 36=21+13+2
下面的程序是由键盘输入一个正整数n的互不相同的菲拨拉契数
算法说明:(1)寻找小于等于n的最大菲拨拉契数a,并以a作为组成n的一个数;
(2)若n不等于a,则以n-a作为n的新值,重复步骤(1)。若a=n,则结束
program myt6;
var n:integer;
first:Boolean;
function find(n:integer):integer;
var a,b,c:integer;
begin
a:=1;b:=1;
repert
c:= ① ;
a:=b; b:=c;
until b>=n;
if b=n then find:= ②
else find:= ③
end;
procere p(n:integer);
var a:integer;
begin
a:=find(n);
if first then begin
write(a:4);
first := false
end
else write(‘+’,a:4);
if a<n then p ④ ;
end;
begin
readln(n);
first:= true;
write(n:5,’=’);
p(n);
writeln;
readln
end.
good
very good1、 约瑟夫(joseph)
n个人站成一圈,从某个人开始数数,每次数到m的人就被杀掉,然后下一个人重新开始数,直到最后只剩一个人。
现在有一圈人,k个好人站在一起,k个坏人站在一起。从第一个好人开始数数。
你要确定一个最小的m,使得在第一个好人被杀死前,k个坏人先被杀死。
输入
一个k,0<k<14
输出
一个m

样例:
输入
3
输出
5
另一个样例:
输入
4
输出
30

2、子数整数
对于一个五位数a1a2a3a4a5,可将其拆分为三个子数:
sub1=a1a2a3
sub2=a2a3a4
sub3=a3a4a5
例如,五位数20207可以拆分成
sub1=202
sub2=020(=20)
sub3=207
现在给定一个正整数K,要求你编程求出10000到30000之间所有满足下述条件的五位数,条件是这些五位数的三个子数sub1,sub2,sub3都可被K整除。
输入
输入由键盘输入,输入仅一行,为正整数K(0<K<1000)。
输出
输出到文件,输出文件的每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出“No”。
样例
输入
15
输出
22555
25555
28555
30000

3、到天宫做客
有一天,我做了个梦,梦见我很荣幸的接到了猪八戒的邀请,到天宫陪他吃酒。我犹豫了。天上一日,人间一年啊!当然,我是个闲人,一年之中也没有多少时日是必须在人间的,因此,我希望选一个最长的空闲时间段,使我在天上待的时间尽量长。记住,今年是4000年。天上一天也是24小时,每小时60分,每分60秒。
输入
输入文件的第一行是一个非负整数 N,表示4000年中必须呆在人间的天数,以下共N行,每行两个用空格隔开的正整数,即日期(月,日),输入文件保证无错误,日期无重复。
输出
输出文件仅有一行包含一个非负整数,即在天上的时间(四舍五入精确到秒)。
样例
输入
2
3 8
12 2
输出
63266
约瑟夫:
program joseph;
var
n,i,ans:longint;
pc:array [1..100] of boolean;

procere init;
begin
assign(input,'joseph.in');
reset(input);
readln(input,n);
close(input);
end;

procere print(x:longint);
begin
assign(output,'joseph.out');
rewrite(output);
writeln(output,x);
close(output);
halt;
end;

procere test(x:longint);
var
i,jl,js:longint;
pd:boolean;
begin
fillchar(pc,sizeof(pc),true);
jl:=0;
pd:=true;
for i:=1 to n do begin
js:=0;
repeat
inc(jl);
if jl>2*n then jl:=jl mod(2*n);
if jl=0 then jl:=2*n;
if pc[jl]=true then inc(js);
until js=x;
pc[jl]:=false;
if jl<=n then begin
pd:=false;
break;
end;
end;
if pd=true then print(x);
end;

begin
init;
i:=n;
repeat
inc(i);
test(i);
until i>maxlongint;
end.
Program heaven;
const
day:array[1..12]of shortint=(31,29,31,30,31,30,31,31,30,31,30,31);
var
n,i,j,x,max,t:longint;
m,d:array[1..1000]of integer;
begin
assign(input,'heaven.in');
assign(output,'heaven.out');
reset(input);
rewrite(output);
readln(n);
for i:=1 to n do
readln(m[i],d[i]);
for i:=1 to n-1 do
for j:=i+1 to n do
if (m[i]>m[j])or(m[i]=m[j])and(d[i]>d[j]) then begin
t:=m[i];
m[i]:=m[j];
m[j]:=t;
t:=d[i];
d[i]:=d[j];
d[j]:=t;
end;
j:=1;
max:=0;
x:=0;
for i:=1 to 12 do
if i<>m[j] then x:=x+day[i]
else begin
repeat
x:=x+d[j]-1;
if x>max then max:=x;
inc(j);;
x:=0;
until i<>m[j];
x:=x+31-d[j-1];
end;
writeln(max/366*24*60*60:0:0);
close(input);
close(output);
end.
【程序2】
const day:array[1..12] of integer = (31,29,31,30,31,30,31,31,30,31,30,31);
var i,n,j:byte;
k:array[0..254] of word;
s:real;
a:array[0..254,1..2] of integer;
begin
read(n);
for i:=1 to n do
begin
read(a[i,1]);
read(a[i,2]);
end;
a[0,1]:=1;a[0,2]:=0;
a[n+1,1]:=12;a[n+1,2]:=32;
for i:=0 to n do
for j:=a[i,1] to a[i+1,1] do
begin
if a[i,1]=a[i+1,1] then k[i]:=a[i+1,2]-a[i,2]
else if j=a[i,1] then k[i]:=day[a[i,1]]-a[i,2]-1
else if j=a[i+1,1] then k[i]:=k[i]+a[i+1,2]
else k[i]:=k[i]+day[j];
end;
for i:=1 to n-1 do
if k[i]<k[i+1] then s:=k[i-1] else s:=k[i];
s:=s/366*24*60*60;
writeln(s:0:0);
end.

very very good

热心网友 时间:2024-10-14 04:45

模拟训练试卷 五
一、 选择一个正确的答案代码,填入每题括号内。
1. 信息技术的英语缩写是
A. OS B . CAD C. IT D. CAI
2. ASCII 码 主要作用是
A. 便于信息交换 B. 便于信息存贮藏 C. 便于管理 D. 便于输出
3. 表达式10DIV 4+15MOD2的值是
A. 1 B. 9 C. 3 D.3.5
4. 在计算机领域中,媒体是指
A. 计算机的输入输出信息 B. 各种信息的编码
C. 表示和传播信息的载体 D. 计算机屏幕显示的信息
5. 计算机网络最主要的优点是
A. 运算速度快 B. 共享资源 C. 精度高 D. 存储容量大
6. 现在的计算机通常是将处理程序放在连续的内存地址只. CPU在执行这个处理程序时,是使用一个叫 的寄存器来指示程序的执行顺序.
A. 累加寄存器 B. 指令寄存器
C. 内存地址寄存器 D. 指令地址寄存器
7. TCP/IP 协议是指
A. 文件传输协议/远程登录协议
B. 邮件传输协议/远程登录协议
C. 传输控制协议/因特网互联协议
D. 文件传输协议/邮件传输协议
8. PASCAL 编译程序的功能是
A. 把PASCAL源程序转换成可运行的EXE文件
B. 生成和修改一个PASCAL 源程序
C. 实现PASCAL 的目标码程序到可运行的EXE问的转换
D. 实现PASCAL 的源程序到等价的目标码程序的转换
9. 根据<计算机软件保护条例>, 中国公民开发的软件享有著作权的是
A. 不论何人,何地及发表与否的软件
B. 只有公开发表的软件
C. 只有单位发表的软件
D. 只有个人在国内开发表的软件
10. 与二进制小数0.1等值的十六进制小数为
A.0.8 B. 0.4 C. 0.2 D. 0.1
11. 下面是4个不同的进制的数,最大的一个是
A. (1A5)16 B. (432)10 C. (543)8 D. (101001000)2
12. 为了提高软件测试的效率,应该
A. 随机地选取测试数据
B. 取一切可能的输入数据作为测试数据
C. 在完成编码后制定软的测试计划
D. 选择发现错误的可能性大的测试数据
13. 结构化程序设计的一种基本方法是
A. 归纳法 B. 逐步求精法 C. 递归法 D. 筛选法
14.调用下列函数返回的值是
function digit (n,k:integer):integer;
begin
digit:=0;
while k>0 do
begin
digit := n mod 10
n:= n div 10;
k:= k-1
end;
end;
A. n 的从右边开始的第k位数字值
B. n的从左边开始的第k位数字值
C. n 除以 10个K次芳 的商
D. n的位数
15. 一个栈的入栈列是 a, b, c, d, e则不可能的出栈序列是
A. e d c b a B. d c e a b C. d e c b a D. a b c d e
16. 电子邮件地址中的用户名与网络服务器主机名之间连接的符号为
A. # B. 下划线 C. @ D. 空格
17. 一棵完全二叉树的结点总数为18 其叶结点数为
A. 7个 B. 8个 C. 9个 D. 10个
18. 已知某二叉树的后序遍历序列是dabec, 中序遍历序列是debac 则它的前序遍历序列是
A. a c b e d B. d e c a b C. d e a b c D. c e d b a
19. 对按关键字排序的线性表进行二分查找,该线行表适合的存储结构为
A. 顺序存储 B. 链接存储 C. 索引存储 D. 散列存储
20. 操作系统是对 进行管理的系统软件
A. 软件 B. 硬件 C. 计算机资源 D. 应用程序
二, 问题求解
第1题, 用1个或多个互不相同的正整数之和表示1~511之间的所有整数
① 至少要多少个不同的正整数
② 这些正整数是
第2题, 在有m行n列格子的棋盘内,一枚棋子从棋盘的左上角格子沿上,下,左,右方向行走,最后走到棋盘的右下角格子.该棋子走过的格子数为奇数的充分必要条件是
三,写出程序的运行结果
第1题, program myt1;
var a,b:integer;
procere pl(x:integer; var y:integer);
begin
x:=x+y
y:=x+y
end;
begin
a:=a; b:=8;
pl(a,b); writeln(a:3,b:3)
pl(b-a,b); writeln (a:3,b:3)
readln
end.
输出:
第2题, program myt2;
var I,j:integer;
a:array[1…3,1…3] of integer;
begin
for I:= 1 to 3 do
begin
for j:=1 to 3 do
begin
if I=3 then a[I,j]:=a[I-1,j]]+1
else a[I,j]:=j;
write (a[I,j]);
end;
writeln
end;
redln
end.
输出:
第3题, program myt3;
const n=10;
function fn(n:integer):integer;
begin
if n<1 then fn:=0
else if n=1 then fn :=1
else fn:=fn(n-1)+n;
end;
begin
writeln(fn(n));
readln
end.
输出:
第4题, program myt4;
const n=7;
var p:array [0…n] of integer;
b:array[0…n] of integer;
I,s,t:integer;
Begin
For I:=9 to n do
Begin
P[I]:=I+1;
B[I]:=1;
End;
I:=0;t:=0;s:=0;
While t<=n do
Begin
S:=s+b[I];
If odd (s) and (b[I]=1) then
Begin
Write (p[I]:3);
T:=t+1;
B[I]:=0;
End;
I:=(I+1) mod (n+1);
End;
Writeln;
Readln
End.
输出:
四, 完善程序
第1题 ,求元素之和最大的子方阵:在m*n(m,n<=20)的正整数数字方阵中,找出一个p*q的子阵(1<=p<=m,1<=p<=n)使其元素之和最大。例如,下面5*4的数字阵中,元素之和最大的一个2*3子阵。
5*4数字阵 元素之和最大的2*3子阵为:

3 8 4 22
11 1 7 9
5 21 6 2
0 3 8 9
2 7 12 3
5 21 6
10 3 8
Program myt5;
Var a:array[1…20,1…20] of integer;
M,np,q,I,j,max,p1,q1,s,i1,j1:integer;
Begin
For I:=1 to 20 do
For j:=1 to 20 do
A[I,j]:=0
Readln(m,n);
For I:=1 to m do
Begin
For j:=1 to n do read(a[I,j];
Readln
End;
Readln(p,q);
Max:=0;
For I:=1 to m-p+1 do
For j:=1 to n-q+1 do
Begin
① ;
for i1:= I to p+I+1 do
for j1:=j to q+j-1 do
② ;
if s>max then begin
③ ;
p1:=I;
q1:=j
end;
end;
for I:=p1 to ④ do
begin
for j:=q1 to ⑤ do
write (a[I,j]:3;
writeln
end;
readln
end.
第2题 菲波拉契数列为1,1,2,3,5,8,13,21,…,其元素产生的规则是前两个数为1 ,第三个数开始每个数等于它前面两个数之和。已知任意一个正整数可以表示为若干个互不相同的菲波拉契数之和。
例如: 36=21+13+2
下面的程序是由键盘输入一个正整数n的互不相同的菲拨拉契数
算法说明:(1)寻找小于等于n的最大菲拨拉契数a,并以a作为组成n的一个数;
(2)若n不等于a,则以n-a作为n的新值,重复步骤(1)。若a=n,则结束
program myt6;
var n:integer;
first:Boolean;
function find(n:integer):integer;
var a,b,c:integer;
begin
a:=1;b:=1;
repert
c:= ① ;
a:=b; b:=c;
until b>=n;
if b=n then find:= ②
else find:= ③
end;
procere p(n:integer);
var a:integer;
begin
a:=find(n);
if first then begin
write(a:4);
first := false
end
else write(‘+’,a:4);
if a<n then p ④ ;
end;
begin
readln(n);
first:= true;
write(n:5,’=’);
p(n);
writeln;
readln
end.

热心网友 时间:2024-10-14 04:46

真的假的...pascal不是只有noip吗?

lz可以去看看今年普及组的noip,应该会有帮助
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
中国福利彩票龟兔赛跑出现两个箭头算不算中奖 ...都没有笑了感觉活得好麻木完全没有意义我该怎么办?? 我的情感很麻木,可以改变或改善吗? 我觉得我麻木不仁,如何改变? 我高二时候突然变得很麻木 应该怎样解脱出来? 曹颖代言的CC换颜祛斑的精油重庆哪里有卖? 第三套人民币蕴含的巨大增值潜力 租赁合同≠租赁凭证!深圳租房家长不要再搞错了!否则申请不了公办学位... 仓埠街道革命传统 ...当归 黄芪 三七一起吃了,有什么功效,吃了会长胖吗?拜托了各位... 形容有一股干劲缺用到了很小的地方的成语? 一个人一边挑的石头一边挑的材是什么成语? 如何查看qq黄钻贵族访客记录? 纳税信用等级怎么评 迷惘的近义词是什么啊 佛山祖庙在那里 华为平板怎么改不了? 苹果平板怎么改 望天门山的作者是谁 是什么朝代 苹果ipad为什么改不了? ipad怎么改 为什么华为平板换不了 怎么重新设置一个? 苹果ipad怎么改 平板微信该如何改 苹果平板怎么改? 汽车科目二上坡路定点停车和起步,怎么看点?每次都超过了或者没有到... 我想知道中国有多少朝代? 中国都有多少个朝代了? ...以下内容对友不可见”叉掉了还怎么修改动态好友可见? 都说育儿无小事,婴儿出现哪几种表现属于正常情况? 女子网购奶粉竟发现活虫子,店家却解释是正常情况!这真的是正常情况吗... 老大,我想退出群管理员怎么退呀,我不是群主。但不想退出群 为什么我王者荣耀3年没玩却没有回归礼? 龙之谷为什么身为回归者却没回归礼包 ...有回归礼包吗 为什么我10几天没上 也没有回归礼包呢 为什么我的号不能领回归礼包?都是很久没上的号啊。。。 龙之谷为什么我50了没有回归礼包,已经有30天了,选择角色那里也显示是回... 龙之谷显示我的角色是回归为什么没有礼包 DNF里为什么我是回归用户,却不能领取回归礼包 我天涯明月刀为什么没有回归礼包已经很久没有上线了 已婚女人梦见有人追赶自己 夫妻恩爱 婚姻幸福的八字特点 公司注销都需要什么流程 搜索没添加对方知道吗 搜索不添加对方知道吗 劳动法关于赔偿是按自用工之日起算还是合同日期 《劳动合同法》中的“自用工之日起”适用于续签劳动合同吗? 我想知道SOME 、ANY、MUCH 、MANY的区别 我家房间的空调出水管很长而且空调高度又不够高 水会滞留一部分在管子里...