Witaj gościu! Zaloguj się lub Zarejestruj aby móc korzystać ze wszystkich funkcjonalności jakie oferuje to forum! Rozpocznij zarabianie przez internet, poznaj korzysci pracy w domu! Rejestracja i korzystanie z forum jest całkowicie darmowe!
Praca w domu - Dodatkowa Praca - Zarabianie przez Internet
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 Sad[/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 Wink

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