Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 07.12.2016
Сообщений: 11

Найти числа из промежутка от А до В, у которых больше всего делителей

29.03.2017, 16:06. Показов 2510. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Начало и конец промежутка (A и B соответственно) ввести с клавиатуры. Промежуток - ряд натуральных чисел (1 2 3 4 5...)
застрял в моменте определения количества делителей числа.
Вот кусок с вводом, то что получилось ниже не стал выкладывать (ересь несусветная)
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int [] arr=new int[30];
        int A, B;
        Scanner in = new Scanner(System.in);
        System.out.print("Введите первое число промежутка: ");
        A = in.nextInt();
        System.out.print("Введите последнее число промежутка: ");
        B = in.nextInt();
        System.out.println("от" + A + " до " + B + ":");
        int raznost=B-A+1;
        for (int i=1; i<=raznost;i++){
            arr[i]=A;
            System.out.print(arr[i] + " ");
            A++;
        }
Очень прошу помочь или хотя бы подсказать
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.03.2017, 16:06
Ответы с готовыми решениями:

Найти числа из промежутка от А до В, у которых больше всего делителей
Найти числа из промежутка от А до В, у которых больше всего делителей.

Найти числа из промежутка от А до В, у которых больше всего делителей
Найти числа из промежутка от А до В, у которых больше всего делителей

Найти числа из промежутка от А до В, у которых больше всего делителей
Найти числа из промежутка от А до В, у которых больше всего делителей.

9
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
29.03.2017, 16:13
https://stackoverflow.com/ques... ven-number
1
0 / 0 / 0
Регистрация: 07.12.2016
Сообщений: 11
29.03.2017, 16:16  [ТС]
У меня к сожалению не на столько хороших английский
0
29.03.2017, 16:20

Не по теме:

Цитата Сообщение от kirpitech Посмотреть сообщение
У меня к сожалению не на столько хороших английский
а так же с русских и с java

0
0 / 0 / 0
Регистрация: 07.12.2016
Сообщений: 11
29.03.2017, 17:11  [ТС]
Паблито, даже не знаю как ответить человеку который пытается самоутвердится в интернете
0
64 / 64 / 26
Регистрация: 07.01.2016
Сообщений: 374
29.03.2017, 17:48
Лучший ответ Сообщение было отмечено kirpitech как решение

Решение

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package ru.cuberforum;
 
import java.util.Scanner;
 
public class Help {
 
    public static void main(String[] args) {
        int start;
        int finish;
        int tmp = 0;
        int count = 0; // количество делителей
        int number = 0; // число у которого наибольшее кол-во делителей
        Scanner sc = new Scanner(System.in);
        start = sc.nextInt();
        finish = sc.nextInt();
        sc.close();
        int arr[] = new int[finish - start + 1];
 
        for (int i = 0; i < arr.length; i++) {
            arr[i] = start++;
        }
 
        for (int i = 0; i < arr.length; i++) {
            for (int j = 1; j <= arr[i]; j++) {
                if (arr[j] % arr[i] == 0) {
                    tmp++;
                }
            }
            if (count < tmp) {
                count = tmp;
                number = arr[i];
            }
            tmp = 0;
        }
    }
}
Как то так
1
0 / 0 / 0
Регистрация: 07.12.2016
Сообщений: 11
29.03.2017, 18:15  [ТС]
DavidKarchikyan, спасибо большое. Была одна невнятность в коде. И кстати, сканер нужно закрывать?
0
64 / 64 / 26
Регистрация: 07.01.2016
Сообщений: 374
29.03.2017, 18:51
kirpitech
Немного неправильно там написал, в блокноте печатал

Добавлено через 29 секунд
Думаю сам найдешь мою ошибку если нет пиши

Добавлено через 16 минут
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package ru.cuberforum;
 
import java.util.Scanner;
 
public class Help {
 
    public static void main(String[] args) {
        int start = 0;
        int finish = 0;
        int tmp = 0;
        int count = 0; // количество делителей
        int number = 0; // число у которого наибольшее кол-во делителей
        Scanner sc = new Scanner(System.in);
        if (sc.hasNextInt())
        start = sc.nextInt();
        if (sc.hasNextInt())
        finish = sc.nextInt();
        sc.close();
        int arr[] = new int[finish - start + 1];
 
        for (int i = 0; i < arr.length; i++) {
            arr[i] = start++;
        }
 
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j <= i; j++) {
                if (arr[i] % arr[j] == 0) {
                    tmp++;
                }
            }
            if (count <= tmp) {
                count = tmp;
                number = arr[i];
            }
            tmp = 0;
        }
        System.out.println("Число " + number + " имеет " + count + " делителей");
    }
}

Исправленный вариант
0
0 / 0 / 0
Регистрация: 07.12.2016
Сообщений: 11
29.03.2017, 19:20  [ТС]
DavidKarchikyan,
Цитата Сообщение от DavidKarchikyan Посмотреть сообщение
arr[i] % arr[j] == 0
вот тут, ведь просто на j а не на arr[j]
т.е. я сделал так:
for (int i = 0; i < arr.length; i++) {
for (int j = 1; j <= arr[i]; j++) {
if ((arr[i] % j) == 0) {
tmp++;
}
или я что-то недопонимаю
в принципе работает
0
64 / 64 / 26
Регистрация: 07.01.2016
Сообщений: 374
29.03.2017, 19:45
kirpitech, у тебя правильнее) понимаешь все правильно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.03.2017, 19:45
Помогаю со студенческими работами здесь

Найти числа из промежутка от А до В, у которых больше всего делителей
Найти числа из промежутка от А до В, у которых больше всего делителей. (нужно с помощью функции)

Найти количество целых чисел из промежутка от 5 до 40, у которых сумма делителей больше 15
Найти количество целых чисел из промежутка от 5 до 40, у которых сумма делителей больше 15 (паскаль)

Найти все целые числа из промежутка от а до b у которых ровно n делителей
Найти все целые числа из промежутка от а до b у которых ровно n делителей

Найти все натуральные числа из промежутка от x1 до x2, у которых сумма делителей равна S
Найти все натуральные числа из промежутка от 1 до 200, у которых сумма делителей равна S. C++

Найти все целые числа из промежутка от а до b, в которых количество делителей равна k
Найти все целые числа из промежутка от а до b, в которых количество делителей равна k.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru