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

przekroczenie czasu w zadaniu

Konkurs Mistrz Programowania
0 głosów
203 wizyt
pytanie zadane 15 marca 2020 w SPOJ przez Sashimo Użytkownik (740 p.)

zadanie : https://pl.spoj.com/problems/PRZEDSZK/

 

rozwiązanie :

#include <iostream>

using namespace std;

int main()
{

    int N;
    int a,b,x;

    cin>>N;

    for (int i=1; i<=N; i++)
    {


          cin>>a;
          cin>>b;

     x = a * b;
    do
    {
        if(a > b) {
           a = a - b;
        } else {
            b = b - a;
        }
    }
    while(a != b);

    cout  << x/a << endl;
    }

    return 0;
}

Wydaje mi się że jest dobrze oblicza wszystko tak jak trzeba tylko z czasem problem :/ nie wiem o co chodzi

1 odpowiedź

0 głosów
odpowiedź 15 marca 2020 przez Whistleroosh Maniak (57,400 p.)

Masz zły warunek w pętli while. Zobacz, że jeżeli a podane na wejściu będzie równe b, to pętla będzie działała w nieskończoność. Ja bym to zapisał tak:


    while(b)
    {
        if(a > b) {
           a = a - b;
        } else {
            b = b - a;
        }
    }

 

komentarz 16 marca 2020 przez Sashimo Użytkownik (740 p.)
Działa tylko że nie rozumiem warunku bo warunkiem jest że liczba. I wykona się zawsze jak co się z tą liczba będzie działo?
komentarz 16 marca 2020 przez Whistleroosh Maniak (57,400 p.)
Pętla będzie się wykonywała dopóki b jest większe od 0. Możesz równie dobrze zapisać while(b > 0) i to będzie to samo.

Podobne pytania

0 głosów
0 odpowiedzi 191 wizyt
0 głosów
0 odpowiedzi 258 wizyt
pytanie zadane 6 września 2020 w SPOJ przez magda_19 Gaduła (3,080 p.)
0 głosów
1 odpowiedź 714 wizyt
pytanie zadane 6 maja 2022 w C i C++ przez Latarnik Użytkownik (650 p.)

93,653 zapytań

142,574 odpowiedzi

323,090 komentarzy

63,170 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

Kursy INF.02 i INF.03
...