За исключением жесткого кодирования или использования модуля Math, есть ли способ найти делители 60 в Ruby on Rails. Любые вспомогательные методы/регулярное выражение, которые я могу использовать? Спасибо за вашу помощь.Самый простой способ найти дивизоры 60 в Ruby on Rails
ответ
Один из самых простых способов для достижения этой цели было бы создать список чисел от 1 до 60, а затем выбрать только те, которые делят 60 с нет остатка.
Чтобы расширить ответ SteveTurczyn, мы можем сделать:
(1..60).select { |n| 60 % n == 0 }
(1..60)
часть создает перечислитель (который в данном случае мы можем думать, как массив чисел от 1 до 60).
Затем вы хотите, чтобы принять этот массив, и выбрать только элементы являются делителями 60.
Мы можем использовать оператор модуля %
, который дает нам осталось, когда мы делим число на другой остаток (например, , 5 % 2
возвращает 1
). Конечно, если нет остатка, то мы знаем, что число делится чисто и поэтому является делителем этого числа (т. Е. Если a % b == 0
, то b является делителем а).
Итак, что мы хотим сделать, используется выше в качестве критерия для выбора элементов из массива чисел от 1 до 60, что мы можем сделать с помощью метода Array#select.
Если у нас есть что-то, например массив (технически, я думаю, Enumerable), мы можем использовать #select и блок для вытягивания только элементов, которые удовлетворяют любым критериям, которые мы указываем в блоке.
The { |n| 60 % n == 0 }
является блок мы переходим к Пометка, которая возвращает истину всякий раз, когда это 60 % n
0
(каждый n
представляет собой элемент из массива чисел от 1 до 60). Array#select
возвращает только элементы в массиве, для которых блок оценивается как истинный, - как работает решение SteveTurczyn.
Вы можете сделать половину числа сравнений, потому что число, большее половины 60, может быть его делителем (кроме самого 60). – Pavling
«Часть (1..60) создает перечислитель». Почти. «Диапазон», фактически, который включает «Перечислимый». –
@Pavling, тем не менее, каждый обнаруженный делитель фактически обнаруживает два, если вы также получаете коэффициент. Это позволяет только переходить к 'sqrt (n)' включительно. Однако алгоритм становится менее кратким. –
Это даст вам множество делителей
(1..60).select { |n| 60 % n == 0}
=> [1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60]
- 1. Самый простой способ отправить почту с Ruby on Rails
- 2. Загрузить файл простой способ в Ruby on rails 3.2
- 3. Простой Ruby on Rails учебник
- 4. самый длинный палиндром в Ruby on Rails
- 5. Самый быстрый способ фильтрации коллекции в ruby on rails
- 6. Какой самый профессиональный способ реализовать автозаполнение в Ruby on Rails?
- 7. Ruby On Rails «найти» вопрос
- 8. Самый простой способ редактирования ассоциации в Rails
- 9. Самый простой способ «Гото исходный код» для Ruby/Rails
- 10. Каков самый чистый способ интеграции Ruby on Rails с AngularJS?
- 11. Ruby on rails: какой самый простой способ загрузить и загрузить файлы?
- 12. Простейший способ подачи файлов - Ruby on Rails
- 13. Ruby on Rails filterrific gem простой фильтр
- 14. Каков самый простой способ работы с API Документов Google в Ruby on Rails?
- 15. Самый простой способ установить атрибут boolean admin для пользователей в базе данных? (Ruby on Rails)
- 16. Ruby on Rails каждый способ.
- 17. Самый простой способ найти IsManager в SQL
- 18. Ruby on Rails: простой способ выбрать все записи вложенной модели?
- 19. Ruby on Rails простой стиль выходного стиля
- 20. Какой самый простой способ опубликовать на моей стене Facebook через приложение Ruby on Rails?
- 21. Добавление поиска в Ruby on Rails - простой вопрос
- 22. Ruby on rails Действия администратора
- 23. Ruby on Rails: более простой метод Hash.slice?
- 24. Простой дизайн базы данных Ruby on Rails
- 25. Простой JavaScript на Ruby on Rails
- 26. Самый простой способ развернуть приложение Rails (windows)
- 27. Rails: Самый простой способ обеспечить загрузку файлов?
- 28. Самый простой способ рекурсивно найти и заменить?
- 29. Самый простой способ найти правильное ведро kademlia
- 30. Самый простой способ найти предыдущий экземпляр приложения
Возможно, потребуется больше контекста. –
Мне нужно отображать делители 60 в выпадающем списке. – user2452057