Показать сообщение отдельно
  #4  
Старый 31.10.2015, 19:40
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Строго говоря, если нужно целое число - то 360*x/n, где X - произвольное целое число. Таким образом первое, что приходит в голову - брутфорсить X в пределах от 1 до N. Потому что опять же, из этой же формулы следует, что за N полных оборотов оно всяко вернётся на место.
Фактически, это приводит к классическим задачам вычисления НОД/НОК для чисел 360 и N. Зная НОД, нужно поделить 360 на него. Зная НОК, надо поделить этот НОК на N. Разницы мало, ведь одно получается из другого.
Еще можно составить при старте таблицу преобразования приведенным выше методом и получать ответ мгновенно. При этом таблица симметрична относительно n=180 по очевидным причинам.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием