早教吧 育儿知识 作业答案 考试题库 百科 知识分享

完善程序第1题孪生素数是指两个相差为2的素数,例如:3和5,5和7,11和13等。下面程序可输出15对孪生素数,其中函数q判断整数a是否为素数。programp(output);vark,n:integerfunctionq(a:integer)

题目详情
完善程序
第1题
孪生素数是指两个相差为2的素数,例如:3和5,5和7,11和13等。
下面程序可输出15对孪生素数,其中函数q判断整数a是否为素数。
program p(output);
var k,n:integer
function q (a:integer):booklean;
var k:integer;
flag:boolean;
begin
flag:___(1)____
k:=2
___(2)____ (k<=a div 2) and flag do
if a mod k=0 then ______(3)_______
else
k:=k+1
q:=flag
end;
begin
n:=0;
k:=2;
repeat
if q(k) and ___(4)___ then
begin
n:=n+1;
writeln(k,k+2)
end;
k:=K+1
until n=5
end.
第二题
已知有类型arr=array[1..16] of string; arr型数组a中存放着从第1届到第16届足球世界杯冠军国家的名字,下面的函数可求出历界世界杯比赛共有几个国家曾获得过世界杯冠军,请填空完成。
Function text2(a:arr):integer;
var k,j,s:integer;
mult:boolean;
begin
___(5)___;
for j:=2 to 16 do
begin
k:=1;
mult:=false;
while not mult and ___(6)___ do
if ___(7)__ then mult:=ture
else k:=k+1;
if not mult then s:=___(8)___
end;
text2:=s
end;
第三题
Fibonacci(裴波那契)数列的规律是:前2个数均为1,从第3个数开始每个数等于它前面两个数之和,即:1,1,2,3,5,8,13,21,34,55,89,144,233,377,...。已知任意一个大于0的整数可以表示为若干个互不相同的fibonacci之数和。
例如:121=89+21+8+3
下面的程序是由键盘输入一个正整数n,输出组成n的互不相同的fibonacci数。
例如:若输入121
则输入121=+89+21+8+3
本程序的算法如下:(n=121为例)
1)寻找小于或等于n的最大的fibonacci数a(例如89),并以a作为组成n的一个数输出。
2)若n≠a则以n-a作为新的任意正整数(例如32),重复步骤1.若n=a,则结束。程序中的函数find返回小于或等于n的最大的fibonacci数。
program text3(input,output);
var n:integer;
function find(n:integer):integer;
var a,b,c:integer;
begin
a:=1; b:=1;
repeat
c:=___(9)___;
a:=b;b:=c;
until b>=n;
if b=n then find:=___(10)___
else find:=___(11)___
end;
procedure p(n:integer);
var a:integer;
begin
a:=find(n);
write('+',a:4);
if a p ___(12)___
end;
begin
readln(n);
write(n:5,'=');
p(n);
writeln
end.

求详解
▼优质解答
答案和解析
首先先理解一下这个程序:CheckChangeRule这个程序的作用是将change数组里所有的字母都统一为小写字母,便于操作ChangeSting这个程序当然就是按照change数组对str(原串)进行改变。对于每个字母,都有两种操作:1、...