Piramida liczb

0

Mam piramidę składającą się z liczb, która wygląda następująco:

                                   1
                  1              1 2 
     1          1  2          1  2 3    

1, 1 2, 1 2 3, 1 2 3 4 itd.

Piramida ta jak widać rośnie. Jeśli podam programowi liczbę 4 powinien mi wypisać wartości dla 4 wielkości piramid czyli suma pierwszej, drugiej itd. np:
1
4
10
20
Obliczyłem to iteracyjni ale chciałbym też rekurencyjnie a nie mam pojęcia jak to zrobić w jednej funkcji ma ktoś pomysł?

0

można jeszcze tak: (n - wielkosc piramidy, a - suma)
a=\frac{n(n+1)(n+2)}{6}

0

W c++ wyglądało by to tak:


#include<iostream>
using namespace std;
int trojkat(int n);
int main()
{
    cout<<"Podaj stopien piramidy: ";
    int n;
    cin>>n;
    int wynik;
    wynik=trojkat(n);
    cout<<"\nWynik to:"<<wynik<<"\n";
    system("pause");
    return 0;
}
int trojkat(int n)
{
    int suma=0;
    if(n==1)
    {
            suma=1;
            return suma;
    }
    else
    {
        for(int i=1;i<n+1;i++) suma+=i;
        n-=1;
        suma+=trojkat(n);
        return suma;
    }
}

A ty w jakim języku potrzebujesz tę funkcję? W delphi czy pascalu? Bo jeżeli w pascalu to jeszcze mogłbym Ci ją napisać jak bym sobie przypomniał składnię funkcji ;D

1 użytkowników online, w tym zalogowanych: 0, gości: 1