Dodawanie ułamków SPOJ
Ostatnio zmodyfikowano 2017-08-13 21:19
pawlowski Temat założony przez niniejszego użytkownika |
Dodawanie ułamków SPOJ » 2017-08-12 21:17:43 http://pl.spoj.com/problems/FR_01_02/ Sędzia pokazuje błędną odpowiedź. Pomoże ktoś odpowiednio nakierować #include <iostream> using namespace std; unsigned long NWD( unsigned long a, unsigned long b ) { while( b ) { swap( a %= b, b ); } return a; } unsigned long NWW( unsigned long a, unsigned long b ) { return a / NWD( a, b ) * b; } int main() { unsigned long l1, l2, m1, m2; char znak; cin >> l1 >> znak >> m1; cin >> l2 >> znak >> m2; unsigned long licznik, mianownik; mianownik = NWW( m1, m2 ); licznik = mianownik / m1 * l1 + mianownik / m2 * l2; cout << l1 << znak << m1 << " + " << l2 << znak << m2 << " = " << licznik << znak << mianownik << endl; return 0; }
|
|
Kinexity |
» 2017-08-12 21:24:56 while( b ) { } - czy to na pewno miało tak być? |
|
maly7 |
» 2017-08-12 21:29:39 "Ułamek wynikowy powinien być przedstawiony w postaci nieskracalnej." Spróbuj jeszcze licznik i mianownik podzielić przez wspólny dzielnik licznika i mianownika.
W twoim kodzie dodając 6/2 + 6/2 wychodzi 12/2 a powinno 6/1 (ew. 6) |
|
pawlowski Temat założony przez niniejszego użytkownika |
» 2017-08-13 21:19:45 Mocno przesadziłem z założeniem tego tematu :) Mój błąd polegał na tym, że słowo "nieskracalny" oczami wyobraźni widziałem wciąż jako "skracalny". Dzięki za zwrócenie uwagi na moją "ślepotę". Więcej już nie będę zakładać tego typu durnych tematów. |
|
« 1 » |