Liczby zmiennoprzecinkowe i reszta z dzielenia – wyjaśnienie zadania

0

Jestem na studiach i oto mam takie zadanie. Problem mam z pogrubioną częścią zadania.

  1. Wczytaj od użytkownika dwie liczby zmiennoprzecinkowe (a oraz b) i podaj wyniki: a do potęgi b, pierwiastek b-tego stopnia z a, reszta z dzielenia a przez b.

Z tego co wiem reszta z dzielenia jest dla liczb całkowitych a tutaj są zmiennoprzecinkowe. Chodzi tutaj o przekonwertowanie zmiennych na stałe czy jednak trzeba to zrobić to na zmiennoprzecinkowych.

znalazłem, że można zrobić to przez fmod i działa. Czy lepiej zrobić 2 wersje ?

2
programista ktory zaczyna napisał(a):

Chodzi tutaj o przekonwertowanie zmiennych na stałe czy jednak trzeba to zrobić to na zmiennoprzecinkowych.

Nie, zadanie wyraźnie mówi, że ma to być na floatach, dlatego uzycie fmod jest właściwe i spełnia założenia. No chyba że masz taką funkcję zaimplementować samemu, w takim razie będzie to coś w tym stylu:

float fmodulo(float a, float b)
{
    return a - trunc(a / b) * b;
}

http://cpp.sh/3373n

0

A co to jest pierwiastek stopnia b z a, gdzie b nie jest całkowite? Mnie uczono że pierwiastki definiuje się tylko dla wartości całkowitych.

0
enedil napisał(a):

A co to jest pierwiastek stopnia b z a, gdzie b nie jest całkowite? Mnie uczono że pierwiastki definiuje się tylko dla wartości całkowitych.

w sumie o tym nie pomyślałem. Dziękuje za pomoc

0

Nie widzę powodu, dla którego nie możnaby mieć rzeczywistego stopnia pierwiastka. Jak to zrobić numerycznie, masz opisane na dole tej strony: https://www.calculator.net/root-calculator.html?cvar3=1.4&cvar4=5.34&ctype=3&x=90&y=21

Pierwiastek b-tego stopnia z a to jest a^(1/b). Zatem na przykład pierwiastek stopnia 0.75 z 5 = pierwiastek stopnia 3/4 z 5 = 5^(4/3) = 5^4 * 5^(1/3).

To pewnie jest tak samo jak z tym, czego w liceum uczą, że gdy delta jest ujemna, to nie ma rozwiązań. Później człowiek idzie na studia i się okazuje, że jednak są.

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