[C] Pierwiastkowanie bez użycia biblioteki
-
- Użytkownik
- Posty: 1931
- Rejestracja: 29 maja 2009, o 11:58
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 145 razy
- Pomógł: 320 razy
[C] Pierwiastkowanie bez użycia biblioteki
Napisz funkcje, która dostaje jako argumenty liczbę całkowitą m (m > 1) oraz nieujemną liczbę n i zwraca jako wartość \(\displaystyle{ \lfloor \sqrt[n]{m}\rfloor}\). Nie korzystaj z funkcji bibliotecznych. o ile część całkowita pójdzie dość prosto, to o tyle pierwiastek danego stopnia już mi nie wychodzi. Ktoś ma jakiś pomysł?
Ostatnio zmieniony 26 kwie 2013, o 17:06 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Powód: Poprawa wiadomości.
-
- Użytkownik
- Posty: 1931
- Rejestracja: 29 maja 2009, o 11:58
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 145 razy
- Pomógł: 320 razy
[C] Pierwiastkowanie bez użycia biblioteki
no właśnie nie wiem w jaki sposób coś takiego napisać bez pow(). jedyne co potrafię to napisać potęgowanie, ale przy potęgach równych liczbie naturalnej
Kod: Zaznacz cały
int potega(unsigned int a, unsigned int b)
{
int i,wynik=1;
for (i=0;i<b;i++)
{
wynik=wynik*a;
}
printf("%d", wynik);
return 0;
}
int main()
{
unsigned int m,n;
printf("Podaj podstawe i potege:
");
scanf("%d %d", &m, &n);
potega(m,n);
return 0;
}
-
- Użytkownik
- Posty: 311
- Rejestracja: 30 gru 2011, o 02:21
- Płeć: Mężczyzna
- Lokalizacja: Puławy
- Podziękował: 11 razy
- Pomógł: 53 razy
[C] Pierwiastkowanie bez użycia biblioteki
1.Napisz funkcje potęgowania.
2.Użyj wyszukiwania binarnego po wyniku.
Punkt drugi ma polegać mniej więcej tak:
Sprawdzasz czy jakaś tam wartość \(\displaystyle{ k}\) jest wynikiem, jeżeli nie jest to zwiększasz lub zmniejszasz \(\displaystyle{ k}\).
Sprawdzanie oczywiście polega na podniesieniu \(\displaystyle{ k}\) do jakiejś potęgi.
2.Użyj wyszukiwania binarnego po wyniku.
Punkt drugi ma polegać mniej więcej tak:
Sprawdzasz czy jakaś tam wartość \(\displaystyle{ k}\) jest wynikiem, jeżeli nie jest to zwiększasz lub zmniejszasz \(\displaystyle{ k}\).
Sprawdzanie oczywiście polega na podniesieniu \(\displaystyle{ k}\) do jakiejś potęgi.