SPOJ przekroczono limit czasu

Odpowiedz Nowy wątek
2019-01-11 20:14
0

Witam, mam mały problem z malutkim programem mianowicie na SPOJu podczas testu przekracza limit czasu. Mógłby ktoś pomóc??? Oto link do zadania https://pl.spoj.com/problems/PA05_POT/

#include<iostream>
using namespace std;
int main()
{
    int a,b,ile,iloczyn=1;

    cin>>ile;
    cout<<endl;
    for(int i=1;i<=ile;i++)
    {
        cin>>a>>b;
        for(int i=1;i<=b;i++)
        {
            iloczyn=iloczyn*a;
        }

        cout<<iloczyn%10;
        iloczyn=1;
    }

return 0;
}
edytowany 1x, ostatnio: Polski Strażak, 2019-01-11 20:15

Pozostało 580 znaków

2019-01-11 20:33
1
  1. cout << endl; jest prawie na pewno niepotrzebne
  2. max b to miliard, petla jest na to za wolna
  3. masz tylko policzyc ostatnia cyfre, nie musisz nigdy znac wyniku

Spoiler alert
Moje rozwiazanie z 2008 w Pascalu: https://ideone.com/EAjUwn


░█░█░█░█░█░█░█░█░█░█░█░
edytowany 3x, ostatnio: krwq, 2019-01-11 20:38

Pozostało 580 znaków

2019-01-11 20:41
1

Pomyśl o tym, jak zmienia się ostatnia cyfra wyniku, przy coraz wyższych liczbach na wejściu


loop:
push 0FFFFFFFFh
call Sleep
jmp loop

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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