Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class Main {
- public static void main(String[] args) {
- //Выводим все делители числа 123
- System.out.println(divs(123));
- //Непосредственно само решение к заданию https://otvet.mail.ru/question/229057174
- for(int i=35_000_000; i<=40_000_000; i++) {
- Set<Integer> divs = divs(i);
- int count neChet = 0;
- for(int n : divs)
- if(n % 2 != 0)
- neChet++;
- if(neChet == 5)
- System.out.println(i);
- }
- }
- //Функция для поиска делителей, n - число, делители которого ищем
- public Set<Integer> divs(int n) {
- //Создаем множество, где будут только уникальные делители, ведь нам не нужен повтор, если число будет нацело извлекаться из корня
- Set<Integer> divs = new HashSet<>();
- //Итерируем до корня из числа, почему так: читать *¹ https://otvet.mail.ru/question/229057174
- for(int i=1; i <= Math.sqrt(n); i++)
- //Проверяем, делится ли наше число n на число i, посредством получения остатка (число будет делиться на число нацело, если остаток равен 0)
- if(n % i == 0) {
- //Если n делится на i, тогда мы заносим это число во множество
- divs.add(i);
- //Заносим вторую пару от деления, читать *² https://otvet.mail.ru/question/229057174
- divs.add(n / i);
- }
- //Возращаем наши делители
- return divs;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement