Zmiana funkcji pow() na pętlę for

0

Witam. Napisałem taki program
#include <stdio.h>
#include <math.h>
int main()
{
float wynik = 1.02;
unsigned int a=1;
while (pow(1.02,a) < 1000 * (a*a)) a++;
printf("Najmnijesza liczba naturalna= %d\n", a);
return 0;
}
Program jest poprawny, wszystko działa tak jak powinno ale mój wykładowca zastrzegł sobie używania funkcji pow() i kazał wykonać to za pomocą for`a. Ale siedzę i nie mogę wymyślić w jaki sposob zastąpić to. Proszę o pomoc

0

O tak:
a * a * a * a ... * a

0

Napisz własną funkcję liczącą potęgę. Podpowiem Ci: musisz pomnożyć podstawę tyle razy ile wynosi wykładnik potęgi. Pamiętaj jednak, że dla wykładnika równego 0, potęga wynosi 1

:P

0
#include <iostream>
using namespace std;

int main()
  {
   double base=2;
   unsigned exp=8;
   double value;
   for(value=1;exp;exp>>=1,base*=base) if(exp&1) value*=base;
   cout<<value<<endl;
   return 0;
  }

http://ideone.com/wT6sII

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