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

question-closed dlaczego ten kod działa?

Konkurs Mistrz Programowania
0 głosów
254 wizyt
pytanie zadane 14 października 2016 w C i C++ przez Kuba321 Użytkownik (730 p.)
zamknięte 14 października 2016 przez Kuba321

Witam!

Rozwiązywałem zadanie przedszkolanka ze SPOJ. Chciałbym się zapytać, dlaczego ten kod działa:

#include <cstdio>
int a,b,t;
using namespace std;

int nww(int a, int b)
{
    int c = a;
    while(c%b != 0)
    {
        c = c+a;
    }
    return c;
}

int main()
{
    scanf("%d", &t);
    for(int i = 0; i < t; i++)
    {
        scanf("%d %d", &a, &b);
        printf("%d\n", nww(a,b));
    }
    return 0;
}

a ten nie:

#include <cstdio>
int a,b,t;
using namespace std;

int nww(int a, int b)
{
    while(a%b != 0)
    {
        a = a+a;
    }
    return a;
}

int main()
{
    scanf("%d", &t);
    for(int i = 0; i < t; i++)
    {
        scanf("%d %d", &a, &b);
        printf("%d\n", nww(a,b));
    }
    return 0;
}

Kiedy jako parametry podaję  12 i 15 zwraca 0, mimo, że powinien zwrócić 60, tak, jak ten wyżej.

Pozdrawiam

komentarz zamknięcia: znalazłem odpowiedź

2 odpowiedzi

+1 głos
odpowiedź 14 października 2016 przez nanoSolum Użytkownik (830 p.)
Zastanów się co się dzieje ze zmiennymi c oraz a podczas kolejnych iteracji :)
+1 głos
odpowiedź 14 października 2016 przez Michał Kazula Pasjonat (19,520 p.)

No bez jaj :-)

Działa:

int nww(int a, int b)
{
    int c = a;
    while(c%b != 0)
    {
        c = c+a;
    }
    return c;
}

Nie działa:

int nww(int a, int b)
{
    while(a%b != 0)
    {
        a = a+a;
    }
    return a;
}

Debuguj :-p

komentarz 14 października 2016 przez Kuba321 Użytkownik (730 p.)
Dzięki za odpowiedź, trochę głupie pytanie, ale jakoś nie mogłem wymyślić, czemu to nie działa.

Podobne pytania

+1 głos
4 odpowiedzi 2,590 wizyt
pytanie zadane 7 sierpnia 2015 w PHP przez migacz100 Mądrala (5,430 p.)
0 głosów
1 odpowiedź 275 wizyt
pytanie zadane 2 kwietnia 2017 w C i C++ przez Avernis Nałogowiec (27,400 p.)
0 głosów
2 odpowiedzi 473 wizyt
pytanie zadane 12 lutego 2016 w C i C++ przez Daaa22 Dyskutant (8,250 p.)

93,659 zapytań

142,577 odpowiedzi

323,100 komentarzy

63,176 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
...