BloodBear
1

Функция нахождения факториала и суммы на основе рекурсии

19.05.2011, 15:45. Показов 864. Ответов 1
Метки нет (Все метки)

Составить программу, реализующую функции нахождения факториала и суммы на основе рекурсии.

У меня есть простая программа но нужно сделать её на основе рекурсий.
Вот простая прога:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Type
    Tmas=array[1..100] of real;
Var    a,b,n,m,i,k:byte;
       nn:integer;
    X,Y:Tmas;
    F:Real;
Function Summa(Dlmas:byte; Mas:Tmas):Real;
    Var Sum:real;  i:byte;
    Begin
    Sum:=0.0;
    For i:=1 to Dlmas do
    Sum:=Sum+Mas[i];
    Summa:=Sum;
    End;
Function step(St:byte;Osn:byte):real;
    Var i:byte; P:real;
    Begin
    P:=Osn;
    For i:=2 to St do
    P:=P*Osn;
    step:=P;
    End;
Function Factorial (var nn: integer): integer;
Var i,z:byte;
  Begin
  i:=1;
  for z:=1 to n do
    begin
     i:=1*z;
    end;
  Factorial:=i;
  End;
{ Главная программа}
BEGIN
   Write('  Введите длину первого массива - N  ');   Readln(N);
   Write('  Введите длину второго массива - M  ');  Readln(M);
   Writeln('   Введите элементы массива X');
   For i:=1 to N do Read(X[i]);  readln;
   Writeln('   Введите элементы массива Y');
   For k:=1 to M do Read(Y[k]); readln;
   Write('   Введите a и b ');  Readln(a,b);
   F:=(Summa(N,X)+ step(N,a))+ (Summa(M,Y)/step(M,a)+ Factorial(nn));
     Writeln('  Полученный результат  F = ',F);
END.
Вот файл .pas

Помогите очень нужно.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.05.2011, 15:45
Ответы с готовыми решениями:

Реализовать функции нахождения факториала и суммы на основе рекурсии
Помогите кто может.Составить программу, реализующую функции нахождения факториала и суммы на основе...

Функция нахождения факториала
Кто может исправить ошибки? голова уже вообще не работает #include <iostream> using namespace...

VBA функция суммы факториала
Помогите пожалуйста, на VBA составить функцию для вычисления суммы факториала (S=1!+2!+3!+...+n!)

Функция нахождения суммы
Из заданного числа вычли сумму его цифр. Из результата вновь вычли сумму его цифр и т.д. Сколько...

1
Почетный модератор
64275 / 47574 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
19.05.2011, 19:57 2
Вроде так, проверяй. Хотел только 2 функции сотворить, не получилось...
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
uses crt;
Type
      Tmas=array[1..100] of real;
Var    a,b,n,m,i,k:byte;
       nn:integer;
        X,Y:Tmas;
        F:Real;
function Step(x:real;n:integer):real;
begin
if n=0 then Step:=1
else Step:=Step(x,n-1)*x;
end;
function Fac(n:integer):real;
begin
if n<2 then Fac:=1
else Fac:=Fac(n-1)*n;
end;
function Summa1(x:Tmas;k:byte;a:real):real;
begin
if k=0 then Summa1:=0
else Summa1:=x[k]+Step(a,k)+Summa1(x,k-1,a);
end;
function Summa2(x:Tmas;k,m,n:integer;a:real):real;
begin
if k=0 then Summa2:=0
else Summa2:=x[k]/Step(a,m)+Fac(n)+Summa2(x,k-1,m,n,a);
end;
{ Главная программа}
BEGIN
   Write('  Введите длину первого массива - N  ');   Readln(N);
   Write('  Введите длину второго массива - M  ');  Readln(M);
   Writeln('   Введите элементы массива X');
   For i:=1 to N do Read(X[i]);//  readln;
   Writeln('   Введите элементы массива Y');
   For k:=1 to M do Read(Y[k]);// readln;
   write('a=');readln(a);
   F:=Summa1(x,n,a)+Summa2(y,m,m,n,a);
   Writeln('  Полученный результат  F = ',F);
END.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.05.2011, 19:57
Помогаю со студенческими работами здесь

Функция нахождения суммы
Есть программный код на с++, с функцией нахождения суммы s1 и s2. Почему-то сумму s1,s2 не считает,...

Функция для нахождения суммы факториалов
Написать программу вычисления суммы факториалов всех нечетных чисел от 1 до 9, использовав функцию...

Рекурсивная функция нахождения суммы цифр числа
Помогите, пожалуйста, написать рекурсивную функцию нахождения суммы цифр числа прототип функции...

функция нахождения суммы элементов целочисленного вектора
Используя функцию, найти сумму элементов целочисленного вектора X(15), величина которых лежит в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru