用递归的方法实现fun函数的定义 :m,n均为正整数 fun (0,n)=n+1; fun (m,0)=m+1; fun (m,n)= fun (m-1,n)

问题描述:

用递归的方法实现fun函数的定义 :m,n均为正整数 fun (0,n)=n+1; fun (m,0)=m+1; fun (m,n)= fun (m-1,n)

前面两个题目我并不完全按照你所说的格式来输出,这个自己改了.
首先是折半查找的.
program find;
var
str:string;
ch:char;
lo,hi:integer;
m:integer;
begin
write('请输入要查找的字符:');
readln(ch);
str:='ABDFGJLMPRSUVYZcdeghijoprsuvxyz';
lo:=0;
hi:=length(str)-1;
while true do
begin
if lohi then
begin
writeln('没有找到');
break;
end
else
begin
m:=(lo+hi) shr 1;
if str[m]=ch then
begin
writeln('位置',m);
break;
end
else if str[m]ch then
begin
hi:=m-1;
continue;
end
else
begin
lo:=m+1;
continue;
end;
end;
end;
readln;
end.
然后是用递归逆转输出数字的.
program ReverseNum;
var
num:integer;
procedure fun(n:integer);
begin
if n1 then
begin
write(n mod 10);
fun(n div 10);
end
else
write(n);
end;
begin
write('请输入一个整数:');
readln(num);
fun(num);
readln;
end.
最后是求1-1000间满足条件的.
program Project1;
var
i:integer;
count:integer;
begin
for i:=1 to 1000 do
begin
if (i mod 2=1)and(i mod 3=2)and(i mod 5=3) then
begin
write(i,' ');
count:=count+1;
if count mod 5=0 then
writeln;
end;
end;
readln;
end.