• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

SPOJ łatwe zadanie threshold 5

0 głosów
451 wizyt
pytanie zadane 23 lipca 2018 w SPOJ przez krawiecki Początkujący (490 p.)
zmienione kategorie 23 lipca 2018 przez HaKIM

jestem początkujący i robiłem zadanuie gra euklidesa, sprawdzałem przykładowe dane wejściowe i wszystko się zgadza, a po wrzuceniu do spoja wyskakuje mi threshold 5, mógłby mi ktoś pomóc?

#include <iostream>

using namespace std;

int n;
int A;
int B;

int main()
{
    cin >> n;

    for (int i=0; i<n; i++)
    {
        cin >>A;
        cin  >>B;

        if (A==B)
        {
            cout <<A+B<<endl;
        }

        else if (A<B)
        {
            while ((A>0) && (B>0) &&(A=!B))
            {
                B=B-A;
                A=A-B;
            }
            cout <<B+A<<endl;
        }

        else
        {
        while ((A>0) && (B>0) &&(A=!B))
            {
                A=A-B;
                B=B-A;
            }
            cout << B+A<<endl;
        }
    }
return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 23 lipca 2018 przez paweljumper Obywatel (1,260 p.)
wybrane 24 lipca 2018 przez krawiecki
 
Najlepsza

1) Masz źle zrobione warunki:
Pierwszy else if jak I drugi można wziąść w jeden blok while( A != B)
W nim jeśli A > B A -= B else B -= A
Daj znać jeśli dalej nie rozumiesz to wyślę ci kod tu albo na priv

Powinieneś zmniejszac wiekszą zmienną dopóki są równe a tutaj zmniejszasz oba

2) Bezwzględnie unikaj zmiennych globalnych, przenies je w main(), jeśli możesz się bez nich obejść, zadeklaruj je lokalnie
3) rób odstępy np. for (int I = 0; I < n; i++) bo znacznie wygodniej się czyta, ten kod ma tylko 44 wiersze ale im więcej tym gorzej z takim pisaniem
 

komentarz 24 lipca 2018 przez krawiecki Początkujący (490 p.)
ok już wiem, dzieki wielkie za pomoc i wskazówki
komentarz 24 lipca 2018 przez paweljumper Obywatel (1,260 p.)
nmzc ;)

Podobne pytania

0 głosów
1 odpowiedź 533 wizyt
0 głosów
2 odpowiedzi 1,570,292 wizyt
pytanie zadane 6 kwietnia 2017 w SPOJ przez Rosik Nowicjusz (190 p.)
0 głosów
3 odpowiedzi 1,042 wizyt
pytanie zadane 7 czerwca 2023 w SPOJ przez PTRKK Nowicjusz (200 p.)

93,741 zapytań

142,677 odpowiedzi

323,294 komentarzy

63,323 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...