Четверг, 09.01.2025
Pascal 4 All
[ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]

 

  • Страница 1 из 1
  • 1
Модератор форума: Seqular, Pavel  

Рекурсия
rs-mmsДата: Пятница, 24.04.2009, 22:51 | Сообщение # 1
Новичок
Группа: Пользователи
Сообщений: 9
Репутация: 0
Замечания: 0%
Статус: Offline
Написать рекурсивную функцию сложения двух чисел, используя только прибав-ление единицы.
 
SeqularДата: Суббота, 25.04.2009, 09:24 | Сообщение # 2
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
Code
Uses CRT;
Var x, y: Integer;
Function ReqSumm(a, b: Integer): Integer;
Begin
If (b = 0) then
                ReqSumm := a
            else
                ReqSumm := ReqSumm(a+1, b-1);
End;

Begin
Repeat
ClrScr;
Readln(x, y);
Writeln(ReqSumm(x,y));
Readkey;
Until False;
End.

Это первое, что родилось у меня в голове. работает с натуральными числами.


Поддерживаю также проект сообщество молодых сисадминов
 
rs-mmsДата: Четверг, 14.05.2009, 18:08 | Сообщение # 3
Новичок
Группа: Пользователи
Сообщений: 9
Репутация: 0
Замечания: 0%
Статус: Offline
Спасибо! А у меня вот так вышло:
Code

program_6;
use crt;
function sum(a,b: integer): integer;
begin
   if b=0 then
     sum:=a
   else
   if b<0 then
     sum:=sum(a-1, b+1)
   else
     sum:=sum(a+1, b-1);
end;
var
   a,b,s: integer;
begin
   clrscr;
   write('a=');
   readln(a);
   write('b=');
   readln(b);
   s:=sum(a,b);
   writeln('a+b=',s);
   readln;
end.
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2025
Используются технологии uCoz
javascript:;" rel="nofollow" onclick="loginPopupForm(); return false;