Napisz program, który prosi użytkownika o wprowadzenie dowolnej liczby iliczbę, do której potęgi należy podnieść pierwsząliczbę. Następnie oblicz wynik potęgowania tej liczby do wspomnianej potęgi.Przykład:Użytkownik wpisał:Liczba: 2Potęga: 5Wyjście:Liczba 2 do potęgi 5 równa się 32.Zadanie

8Napisz program, który prosi użytkownika o wprowadzenie dowolnej liczby całkowitej n. Następnie oblicz wynik operacji silni (n! -1 * 2 * 3 * ... * n). Wypisz w konsoli wynik silni n, a także wynik wszystkich silni liczb przed n.
Przykład:Użytkownik wpisał:4Wyjście:1! = 13! = 62! = 24! = 24



Odpowiedź :

Odpowiedź wraz z komentarzami:

#include <iostream>

using namespace std;

int main()

{

 int x;

 long wynik = 1;  //long, ponieważ przechowuje większe liczby, int też mógłby być

 

 cout << "Podaj liczbę do wykonania operacji silni: ";

 cin >> x;

 //pętla dla: 2,3,...,x  czyli wynik*2*3*...*x

 for( int i = 2; i <= x; i++ )

 {

   wynik *= i;  //pomnóż aktualny wynik o i

 }

 cout << x << "! = " << wynik;

 return 0;

}

Odpowiedź

Zgodnie z komentarzem, tylko 8.

Załączniki zawierają:

  • Program używający typu int i przykładowy wynik.
  • Oddzielny wydruk tego samego programu w moim zdaniem lepszej kolorystyce. (Program używa typu int.)
  • Wydruk programu takiego jak powyżej, ale używającego do obliczeń typu long long int.
  • Nie potrzebne do rozwiązania zadania: ilustracja jak w zależności od typu zmiennej zmienia się możliwość obliczenia silni (pomysł dzięki odpowiedzi kolegi).
  • Nie potrzebne do rozwiązania zadania: kod źródłowy programu, który wykonał powyższe obliczenia.

Wyjaśnienia

Z 4. załącznika widać, że aby mieć pewność jakich wartości można użyć dla 'n', należy albo użyć 'int', albo 'long long int', ponieważ wyniki dla 'long int' są zmienne – zależą od tego gdzie program jest wykonywany!

Oczywiście dotyczy to każdych obliczeń. Widać, iż należy unikać używania typu 'long int'. Zwykle wystarczy typ 'int', jednak gdy nie wystarcza, należy od razu przejść na 'long long int'.

Zobacz obrazek 0AB
Zobacz obrazek 0AB
Zobacz obrazek 0AB
Zobacz obrazek 0AB
Zobacz obrazek 0AB