4 / 24
Feb 2018

Wydaję mi się że moje rozwiązanie jest poprawne, lecz oczywiście mogę się mylić.
Jeżeli tak, to co robię źle?

<–KOD–>
#include<iostream
#include<math.h>

using namespace std;

int main()
{
int t;
cin>>t;
for(int i=0;i<t;i++)
{
long long a,b,o;
cin>>a>>b;
while(b>4)
{
b-=4;
}
o=pow(a,b);
cout<<o%10<<endl;
}
return 0;
}
<–KOD–>

  • created

    Feb '18
  • last reply

    Nov '18
  • 23

    replies

  • 2.3k

    views

  • 7

    users

  • 2

    likes

  • 3

    links

Przekopałem wszystkie te linki, przeczytałem wszystkie odpowiedzi ale dalej nie rozumiem :smile: może dlatego że jestem nowy. Czy mógłbym prosić żeby Pan mi wytłumaczył?

Zrobiłeś 30 zadań? Więc to żadne wytłumaczenie i dla mnie nie jesteś nowy. To, że to pierwszy twój post na forum jest w tym wypadku [30 AC] bez znaczennia… A moje linki widocznie czytałeś bez należytej uwagi, więc jak mam Ci pomóc, jeżeli nie zwracasz na moje podpowiedzi uwagi? Tamte wątki miały Cię doprowadzić do: Jak zdobyć szacun na SPOJu i do wyciągnięcia odpowiedniego, może niezbyt oczywistego wniosku. :wink:

znalezione w wątku pod zadaniem(poza dużą ilością spamu)

Podstawowa zasada w tym zadaniu to “nie musicie a nawet nie jest wskazane liczyć a^b”. Przy małym wykładniku i podstawie to przejdzie ale przy większych wartościach program nie spełni limitu czasowego. Ponadto skoro a i b mogą mieć wartość 1 000 000 000 to istnieje możliwość, że sędzia zechce sprawdzić przypadek 1 000 000 000^1 000 000 000 zastanówcie się czy to jest wykonalne (typ zmiennych)?

aha, może wskazówka - weź 2 pary liczb, np. 127, 9 oraz 7, 9 i sprawdź czy wyjdzie ten sam wynik? A dla par 1234567, 9 oraz 987, 9(tutaj może użyj Wolframalpha do sprawdzenia wyników)?

To mów o co biega, a nie jak te wszystkie kobiety każesz się wszystkiego domyślać :wink:

Problem Solved :sunglasses: pomógł bardzo użytkownik gi90 :slight_smile: Sam while, który skracał wykładnik potęgi nie wystarczał, więc skróciłem też podstawę (a=a%10;) i teraz nawet przy dużych liczbach wszytko jest redukowane do małych wartości :wink:

Jeżeli nie wiadomo o co biega, to biega o … bieganie [dla zdrowia, dla kondycji, dla przyjemności, dla lepszego BMI :wink: ] Sam jeszcze nie potrafię pobiec maratonu, ale 5km parkrunu już tak i namawiam wszystkich.

genialna anegdota nie ma co :stuck_out_tongue: czyli krótko mówiąc, trzeba najpierw zyskać ten szacun i potem można liczyć na pomoc?

Nie. Pomocy udziela tu na forum wiele [kilka] osób. Tylko ja się tak bardzo cenię :wink: Inni robią to bardziej bezinteresownie, przynajmniej tak mi się wydaje.

Mi nic nie zalicza, nawet spisałem z youtubera który to zaliczył i mi nie zaliczyło o.O

#include

using namespace std;

int main()
{

int tablica[10][4] = {
{0, 0, 0, 0},
{1, 1, 1, 1},
{6, 2, 4, 8},
{1, 3, 9, 7},
{6, 4, 6, 4},
{5, 5, 5, 5},
{6, 6, 6, 6},
{1, 7, 9, 3},
{6, 8, 3, 2},
{1, 9, 1, 9}
};
unsigned long int a, b;
int D;
cin>>D;
for(int i=0; i<D; i++)
{

cin>>a;
cin>>b;

cout<<tablica[a%10][b%4];

}
return 0;
}

Zabrakło entera, czyli ‘\n’ lub endl w odpowiednim miejscu

Przecież spoj rozpoznaje wejscie i wyjscie, to chyba nie ma znaczenia ale ok sprawdze

Żle Cię zrozumiałem, myślałem, że wpłaciłeś datek, trudno to i tak nie dla mnie więc jakoś to przenbolę.

8 days later
8 months later