Cześć mam do napisania funkcję x^n w sposób iteracyjny w c++, czyli chyba przez pętle i nie wiem jak się do tego zabrać. Jakby mógł ktoś pomóc byłoby super, Dzięki!
Funkcja x^n (sposób iteracyjny) – prośba o wytłumaczenie
- Rejestracja: dni
- Ostatnio: dni
- Postów: 913
0
x^n = x*x*x*x n-razy.
Więc robisz pętle która powtarza się n razy i mnożysz x przez siebie w pętli.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Kraków
- Postów: 56
1
Proszę bardzo :) 2 minuty klepania.
#include <iostream>
using namespace std;
int n_pot(int x,int n)
{
int wynik=1;
for(int i=0;i<n;i++)
{
wynik*=x;
}
return wynik;
}
int main() {
cout<<n_pot(2,3);
return 0;
}
- Rejestracja: dni
- Ostatnio: dni
0
Nie napisałeś czy n może być ujemne. Jeśli tak, to kod @profesorek_96 trzeba mocno rozbudować. Zmiany są potrzebne również wtedy gdy x może być zmiennoprzecinkowe.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 5069
1
Opis jest tutaj: https://pl.wikipedia.org/wiki/Algorytm_szybkiego_pot%C4%99gowania , a tak to będzie w c++:
int square(int x){ return x * x;}
int even(int x) {return x % 2 == 0;}
int sq_exp(int x, unsigned n){
/* Zakładamy najprostrzą wersję: n >= 0*/
if (n == 0)
return 1;
if (! even(n))
return x * square((sq_exp(x, (n - 1) / 2)));
return square(sq_exp(x, n / 2));
}
Założyłeś trzy wątki w tym samym temacie, w różnych językach! W tym czasie Jakyś chciał, to Przepisałbyś ten algorytm z Wikipedii metodą prób i błędów:)