6 / 21
Aug 2017

Następnym razem postaraj się trochę lepiej sformatować kod. Okropnie się to czyta.
Pierwsza rzecz, która rzuca się w oczy, to cały czas operujesz na long longacha, a tymczasem nwd i nww zwracają inta. Tu aż się prosi o błąd.

Teraz kod wygląda pięknie, dzięki.
1) Po pierwsze, pracuj na long longach. Sam autor sugeruje, że tak trzeba.
2) Po drugie. Cały czas operuj na możliwie jak najmniejszych wartościach.
Licząc nww mnożysz a*b, co może przekroczyć zakres. Spróbuj to tak policzyć, żeby nie przekraczać podczas obliczeń wartości najmniejszej wielokrotności.

1 year later

Skąd kompilator wie, że akurat znak '/' to jest znak... przecież cyfra też jest znakiem.
np. 123/987
int x,y;
char c;
cin>>x>>c>>y;
to skąd wiadomo, że akurat x=123, c=\, y=987?? JAK ? :confused:

1 year later

Uprzejmie proszę o przypadek testowy który poniższy program obleje :wink:

[tu był kod]

Masz zły wynik dla przykładu, który dałeś na ideone.

Z tego co ja widzę wynik jest poprawny.
1/2 + 2/4 = 1

Czy też powinien być w postaci 1/1? Proszę o info

1/1, przeczytaj dokładnie sekcję “wyjście” w zadaniu.

Zmieniłem, teraz:
1/2 + 2/4 = 1/1
3/2 + 2/4 = 2/1

Niestety dalej Błędna odpowiedź…
[tu był kod]
PLEASE HELP

Pozamieniaj long longi na unsigned long longi i będzie AC :slight_smile:

2 months later

Witam,

Wyskakuje mi "Błąd wykonania (SIGABRT). Czy mogę prosić o sugestie, co może być tego przyczyną? Albo o przypadek testowy, który mógłby mnie nakierować?

Oto mój kod: http://wklejto.pl/73623229

Pozdrawiam :slight_smile:

3 years later

Proponuję sprawdzic czas wykonania dla nastepującego testu

1/2 1/999999999

Rzeczywiście przekracza założony czas wykonania.
Tylko jak go skrócić? Można szybciej policzyć największy wspólny dzielnik?