Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
WIPING2B - Liczniki i mianowniki |
Zadanie eliminacyjne w konkursie WIPING2 organizowanym przez
Wydział Informatyki Zachodniopomorskiego Uniwersytetu Technologicznego w Szczecinie
Liczniki i mianowniki
Twoim zadaniem jest stworzenie prostego kalkulatora wykonującego cztery podstawowe operacje arytmetyczne na ułamkach.
Twój program otrzyma na wejściu jeden wiersz tekstu o następującej strukturze:
x1 y1 # x2 y2
gdzie:
x1: licznik pierwszego ułamka
y1: mianownik pierwszego ułamka
#: operator: jeden z +, -, *, /
x2: licznik drugiego ułamka
y2: mianownik drugiego ułamka
Wszystkie dane liczbowe są całkowite i zawarte w przedziale <1..109>, a wszystkie elementy w linii wejściowej rozdzielone są spacjami.
Twoim zadaniem jest wyprowadzenie na wyjście jednego wiersza tekstu zawierającego wynik zaprezentowany w następującej formie
- znak - (minus) jeśli otrzymany wynik jest mniejszy od zera;
- jeżeli otrzymany wynik jest ułamkiem niewłaściwym, to przedstawiamy go liczbą będącą całkowitym ilorazem licznika i mianownika i po spacji uzupełniającym ją ułamkiem właściwym w postaci licznik/mianownik, o ile jego licznik jest różny od zera;
- ułamek właściwy w postaci licznik/mianownik w przeciwnym przypadku.
Sposród wszystkich możliwych form prezentacji ułamka program powinien wybrać tę, która posługuje się możliwie małym (co do wartości bezwzględnej) mianownikiem.
Wejście
- jeden wiersz tekst o strukturze:
int int char int int
gdzie każde z int jest dodatnią liczbą całkowitą, a char jest znakiem operatora arytmetycznego
(+ - / *)
Wyjście
- jeden wiersz tekstu o strukturze (nawiasy [] oznaczają elementy opcjonalne):
[-][int ][int/int]
przy czym obowiązkowe jest wystąpienie przynajmniej jednego składnika z opisanych w drugiej i trzeciej parze nawiasów.
Przykład
Wejście:
1 2 - 12 4
Wyjście:
-2 1/2
Wejście:
1 2 * 1 2
Wyjście:
1/4
Informacje dodatkowe
-
program zostanie uruchomiony 10 razy dla różnych zestawów danych
-
każde poprawne rozwiązanie daje 10% punktacji zadania
-
zadanie ma wartość punktową 4,0
Dodane przez: | Sławomir Wernikowski |
Data dodania: | 2014-01-16 |
Limit czasu wykonania programu: | 0.5s |
Limit długości kodu źródłowego | 2000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | C CSHARP C++ 4.3.2 CPP C99 JAVA PAS-GPC PAS-FPC PERL PERL6 PHP PYTHON PYTHON3 PY_NBC RUBY |