Codeforces Global Round 8 |
---|
Закончено |
Лео создал новый язык программирования C+=. В C+= целочисленные переменные можно изменять только операцией «+=», которая прибавляет значение справа к переменной слева. Например, если выполнить «a += b», когда a = $$$2$$$, b = $$$3$$$, значение a станет равно $$$5$$$ (значение b при этом не изменится).
Лео создал программу-прототип с двумя целочисленными переменными a и b, исходно содержащими некоторые положительные значения. Он может выполнить некоторое количество операций «a += b» или «b += a». Лео хочет протестировать обработку больших целых чисел, поэтому ему нужно сделать значение a либо b строго больше, чем некоторое данное число $$$n$$$. Какое наименьшее количество операций ему необходимо выполнить?
В первой строке записано одно целое число $$$T$$$ ($$$1 \leq T \leq 100$$$) — количество наборов входных данных.
Каждая из следующих $$$T$$$ строк описывает один набор входных данных и содержит три целых числа $$$a, b, n$$$ ($$$1 \leq a, b \leq n \leq 10^9$$$) — исходные значения a и b, и значение, которое одна из переменных должна превысить, соответственно.
Для каждого набора входных данных выведите наименьшее необходимое количество операций. Разделяйте ответы переводами строк.
2 1 2 3 5 4 100
2 7
В первом наборе входных данных мы не сможем за одну операцию записать значение, большее $$$3$$$, ни в какую переменную. Один из способов сделать это за две операции — выполнить «b += a» дважды.
Название |
---|