skracanie ułamków

0

Witam, mam problem z zadaniem skracanie ułamków. Kiedy podam liczby 3 9 itd. program działa jak nalezy i wydaje mi sie ze program jest zrobiony dobrze lecz jest kłopot w tym ze w zadaniu http://www.spoj.com/WSDOCPP/problems/SKRUL/ jest podany przykład 3 5 i 9 15 wynik ma wyjsc 1 3. Prosilbym o jakas pomoc tutaj kod:
Kod
#include <iostream>
using namespace std;

int main ()
{
unsigned long long t,a,b,m,n;
cin >> t;
while (t--)
{
cin >> a >> b;
m = a;
n = b;
while (a!=b)
if (a>b)
a-=b;
else
b-=a;
}
cout << m / a << endl<< n/a;

return 0;

}

1

Ale co tu niby działa jak należy? o_O Masz wypisać jedną liczbę a masz cout który wypisuje dwie. A sam algorytm nazywa się NWD - największy wspólny dzielnik...
http://pl.wikipedia.org/wiki/Algorytm_Euklidesa#Funkcja_wyliczaj.C4.85ca_NWD_w_C.2FC.2B.2B

0

bo ma wypisac dwie? ma wypisac ulamek nieskracalny ;o

0

Z takim skillem w czytaniu ze zrozumieniem to chyba jednak daruj sobie programowanie...

pomóż koledze i napisz program, ktory określi, przez jaką liczbę Jasiu powinien skrócić ułamek.

Poza ty masz nawet przykład! Dla danych 9 15 wynikiem jest 3, co jest dość oczywiste bo 9/15 skróciłbys właśnie przez 3 do 3/5...

0
buqu napisał(a):

bo ma wypisac dwie? ma wypisac ulamek nieskracalny ;o

Cytat z zadania * Jako dobry kolega (koleżanka) pomóż koledze i napisz program, który określi, przez jaką liczbę Jasiu powinien skrócić ułamek. * Czyli jedną liczbę na wyjściu, wspomniany NWD

0

Ok dzieki, udało się

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