Euclid algorithm
В задаче изменён и увеличен набор тестов. Все отправки перетестированы.
У вас в условии ограничение стоит 10^18. При таком ограничении моя программа имела много ошибок выполнения. Я увеличил диапазон степени в 10 раз (до 10^180), и сразу ошибки пропали. Проверьте ещё раз условие.
Я искал её полдня :) Пробовал разные компиляторы, варьировал разные способы работы, но всегда у меня выскакивала ошибка. Да, я пока что ещё не довёл эту программу до 100% (уже не знаю сколько сижу и ищу причину "Неверного ответа"), но, тем не менее, достаточно было просто поменять эту константу (я ожидал там ошибку меньше всего), и ошибки мигом пропали.
Чем больше программирую, тем больше убеждаюсь в том, что ошибки бывают только со стороны программиста :( Беру свои слова назад, у вас никаких ошибок нет. Теперь мне интересно, как я мог так упорно неправильно понимать один аспект условия задачи :)
из условия "Требуется узнать, наступит ли в процессе реализации алгоритма Евклида для заданной пары чисел (a, b) такой момент, когда перед исполнением шага 2 число a будет равно c, а число b будет равно d." становится ясно, что нужно проверять на совпадение после каждого шага алгоритма, а решение заходит на 100% только в том случае, если делать проверку только после 4 шага алгоритма
Уточните условие!!! Когда в процессе алгоритма ищу делитель и нахожу остаток от с и а на b заходит на 98%!!!
Пожалуйста, намекните, почему в этой задаче у меня превышен лимит времени. Спасибо!
Как в Алгоритме Евклида может появляться бесконечный цикл при положительных исходных числах? Спасибо!