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
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; } }
93,653 zapytań
142,574 odpowiedzi
323,090 komentarzy
63,170 pasjonatów
Motyw:
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