Pomocy! c++ - Wersja do druku +- Praca w domu - Dodatkowa Praca - Zarabianie przez Internet (https://zarabiam.com) +-- Dział: Off-Topic (/Forum-Off-Topic-9) +--- Dział: Programowanie (/Forum-Programowanie-364) +--- Wątek: Pomocy! c++ (/Temat-Pomocy-c-157451) |
Pomocy! c++ - Grabek04 - 27-07-2018 00:15 Co tutaj jest źle? Zadanie polega na tym, aby wyświetlić cyfrę jedności z podanych liczb a i b. https://pastebin.com/yAgRnv6U https://pl.spoj.com/problems/PA05_POT/ <---- Tutaj jest całe zadanie. Robie tak jak pokazuje, ale program nie przyjmuje [/align] RE: Pomocy! c++ - twardy - 27-07-2018 00:37 Sprawdzarka nie przyjmuje kodu? Pewnie przekracza czas wykonania przy wielkich liczbach. Podejrzewam, ze trzeba robic modulo 10 przy potegowaniu Np 8^3 Twoj program najpierw poteguje a pozniej robi modulo 10 8*8*8 = 64*8 = 512 512%10 = 2 Lepiej to zrobic tak, moim zdaniem: 8*8 = 64 64%10 = 4 4*8=32 32%10 = 2 RE: Pomocy! c++ - Tiger04 - 27-07-2018 10:07 O ile wziąłeś sobie za przykład w miarę małe liczy np. jak napisał Twardy 8^3 to wynik się może zgadzać, ale zobacz na maksymalny zakres. 1 ≤ a,b ≤ 1 000 000 000 I teraz zrób potęgę 1 000 000 000 ^ 1 000 000 000 RE: Pomocy! c++ - twardy - 27-07-2018 10:25 To co podalem zgadza sie dla kazdych dwoch liczb z tego zakresu i na pewno jest szybsze od potegowania i robienia modulo na koncu. Procesor szybciej po prostu policzy 5*5*5*5*...*5? a nie 61646546541654165465*61646546541654165465*61646546541654165465*61646546541654165465*...*61646546541654165465 A efekt ten sam |