Dzielenie pizzy spoj

0

Witam, czy jest ktos w stanie pomoc i wskazać gdzie jest blad?
Chodzi o zadanie na spoju dzielenie pizzy:
http://pl.spoj.com/problems/MWP3_3D/
Pomimo pozornie dobrych wyników spoj pokazuje, że jest błędny wynik.
Oto mój kod:
https://ideone.com/AqqBBb

0

Z treści zadania:

Każde wykonane cięcie powinno stanowić średnicę pizzy.

Tzn jak masz np. trzy osoby to nie możesz kroić pizzy na gwiazdkę, jak to robisz.

Strzelam, że wg zadania masz pokroić pizzę na 4 kawałki (na krzyż), a czwarty kawałek wyrzucić na śmietnik. Głowy nie daję, czy to właśnie autor zadania miał na myśli, ale warto sprawdzić.

Nie, prawidłową odpowiedź podał @hauleth w komentarzach.

0

Nie rozumiem. Dla 3 osób bedą 3 cięcia przez średnice czyli każdy po 2 kawałki. To chyba jest dobrze?

0

@Rosiakstudio: błąd masz w tym, że podajesz złą wartość co ile masz wykonać cięcie.

0

Mógłbyś powiedzieć przy jakim przykładzie danych?

0

cm=(((srednica*M_PI)/osoby));

To się wali dla nieparzystej ilości osób.

2

Pomyślmy. Mamy pizzę o średnicy 20. Dzielimy ją na 4 osoby, czyli na 4 kawałki. Co znaczy, że będą 2 cięcia. Daje nam to, że pizzę tniemy co 31.415 a nie co 15.708 jak wynika z twojego programu.

0

Każde przecięcie pizzy przez średnicę daje parzystą liczbę kawałków:
jedno cięcie - dwa kawałki,
dwa cięcia - cztery kawałki,
trzy cięcia - sześć kawałków
i tak dla każdej liczby osób (parzystej czy nieparzystej) musisz operować parzystą liczbą kawałków pizzy.
Teraz bierzesz kartkę i długopis i wypisujesz sobie ile trzeba wykonać cięć dla osób od jednej osoby do ileś tam osób aż zauważysz schemat np:
1 osoba - 0 cięć
2 osoby - 1 cięcie
3 osoby - 3 cięcia
4 osoby - 2 cięcia
5 osób - 5 cięć
itd.
Teraz chyba widać że równanie trzeba rozbić na dwa przypadki.

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