Witam, mój program ma problem z obliczeniami/zaokrąglaniem dużych liczb. Dobrze widać to na przykładzie (w 1 kolumnie powinien być ciąg 9):
99999999999999 1388888888888889
999999999999999 14888888888888888
10000000000000000 158888888888888896
100000000000000000 1688888888888888832
Jak można temu zaradzić?
Powyżej jest parę testów, ale przecież, nie ma wcale takiego obowiązku - testowania przed wysłaniem. Śmiało możesz wysłać i może okaże się, że masz bezbłędny kod.
Jeśli jednak upierasz się testować, to tu samodzielnoś też jest pożądana i chwalebna. Sam wymyśl testy, a ewentualnie tu pokaż je i wyniki swojego programu i spytaj czy są poprawne.
Pewna określona liczba stron jest liczbą całkowitą, a nie typu float, czy double. Long double też tu nic nie zmieni, ani nie pomoże. Całkowita, to całkowita. No i w zadaniu nie uwzględnia się np -10 stron (minus dziesięć stron), ani żadnych takich. Podobnie jak porwanych stron - połówek, ćwiartek itp. W końcu to jest świeży druk, jeszcze pachnący farbą drukarską
Jako autor zadania, mam wgląd do nadesłanych kodów i zauważyłem w twoim kodzie, deklarację long double - możliwe, że jest to tylko nieużywana deklaracja.
Niestety, nie mam w tej chwili dostępu do ko.putera - piszę z komórki. Proszę, uzbroj się w cierpliwość, na razie zajmij się innym zadaniem. Może to ja mam jakiś błąd w swoim rozwiązaniu. Na pewno, gdy tylko będę miał dostęp do kompa, zajmę się tym.
No cóż, zelcer nie wylewał za kołnierz, a może chciał trochę naciągnąć drukarnię, a może nie umiał dobrze liczyć. Tak czy siak, takie przypuszczenie, mógł na przykład podać liczbę 14, a jak łatwo policzyć, do wydruku 11 stron potrzeba tylko 13 czcionek, ale do wydruku 12 stron już 15. 14 nie wystarczy na 12 stron, ale na 11 tak, a nawet jedna czcionka zostanie. Więc jeżeli podał nierzetelną liczbę użytych czcionek, my liczymy ile mógłby maksymalnie wydrukować stron, zużywając ewentualnie naprawdę kilka- naście czcionek mniej… Analogicznie mógł podać inną dowolnie dużą liczbę wyssaną z palca, a ty programisto martw się i kombinuj. W tej chwili niestety, jak już wspominałem, nie jestem w stanie tego zweryfikować, z wielluuu powodów, hyyp, sorry coś mi się odbiło ;-).
A tak naprawdę, to:
Mea culpa, mea culpa, mea very big culpa!
Dałem plamę i nierzetelnie wygenerowane, nidostosowane do treści zadania dane testowe - bardzo prawdopodobnie więc przepraszam.
Będę musiał coś z tym zrobić. Poprawić testy lub zmienić - poprawić treść zadania.
Suggested Topics
Topic | Category | Replies | Views | Activity |
---|---|---|---|---|
MBPROB01 - History version in plaintext pl.spoj.com | Zbiór zadań | 6 | 197 | Jul '24 |
TOPSORTL - Porządek leksykograficzny w grafie | Zbiór zadań | 3 | 164 | Jul '24 |
TFRACAL - Kalkulator ułamków | Zbiór zadań | 2 | 153 | Feb 1 |
FR_20_02 - Poszukiwacze skarbów - Błąd w testach? | Zbiór zadań | 1 | 111 | Apr 2 |
SPOJ.com - Problem ZABAWA pl.spoj.com | Zbiór zadań | 4 | 37 | 4d |