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

Избыточные числа

08.02.2020, 02:09. Показов 1777. Ответов 4

Студворк — интернет-сервис помощи студентам
Помогите с решением задачи:
"Ввести целое число N. Вывести есть ли оно избыточным."
Избы́точное число́ — положительное целое число n, сумма положительных собственных делителей (отличных от n) которого превышает n.
К примеру если человек введет 1000 , я так понял что программа должна вычислить все делители этого числа и найти их сумму?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.02.2020, 02:09
Ответы с готовыми решениями:

На множестве натуральных чисел от A до B найти все избыточные числа и их количество
Используя несколько вложенных циклов, решите при¬ве¬денные ниже задачи. Если искомых чисел, описанных в задаче, найти не удалось, то...

Удалить элементарные избыточные конъюнкции
Удалить элементарные избыточные конъюнкции и избыточные литералы из следующей ДНФ. Проверить результат картами Карно. \begin{bmatrix}0...

Удалить из строки избыточные пробелы
ввести строку предложения с избыточными пробелами между словами . преобразовать ее так чтобы между словами был ровно один пробел

4
 Аватар для Coffeini
753 / 370 / 133
Регистрация: 01.02.2020
Сообщений: 1,096
Записей в блоге: 1
08.02.2020, 10:32
Лучший ответ Сообщение было отмечено dmitrySfR как решение

Решение

Первое, что приходит в голову это простейший перебор:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int sum = 0;
        for (int i = 1; i <= n; ++i)
            if (n % i == 0)
                sum += i;
        if (n < sum)
            System.out.println("YES");
        else
            System.out.println("NO");
    }
}
1
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
08.02.2020, 13:30
Coffeini, во-первых не жалей фигурные скобки, их у тебя явно не хватает, во-вторых подобные иф-елсе можно заменить тернарным оператором, будет 1 строка вместо 4 )
2
3 / 3 / 0
Регистрация: 02.09.2019
Сообщений: 49
08.02.2020, 13:44  [ТС]
Цитата Сообщение от Coffeini Посмотреть сообщение
Первое, что приходит в голову это простейший перебор:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int sum = 0;
        for (int i = 1; i <= n; ++i)
            if (n % i == 0)
                sum += i;
        if (n < sum)
            System.out.println("YES");
        else
            System.out.println("NO");
    }
}
Забыл уточнить что делители избыточного числа все, кроме него самого. Всё хорошо, спасибо. Единственное что в цикле for заменил i <= n, на i < n.

Добавлено через 8 минут
Цитата Сообщение от neske Посмотреть сообщение
Coffeini, во-первых не жалей фигурные скобки, их у тебя явно не хватает, во-вторых подобные иф-елсе можно заменить тернарным оператором, будет 1 строка вместо 4 )
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("n = ?");
        int n = in.nextInt();
        int sum = 0;
            for (int i = 1; i < n; ++i)
                if (n % i == 0)
                sum += i;
            String num = n < sum ? "Yes" : "No";
        System.out.println(num);
    }
}
1
 Аватар для Aviz__
2759 / 2066 / 509
Регистрация: 17.02.2014
Сообщений: 9,492
08.02.2020, 18:23
dmitrySfR, ну, если все же прямым перебором, как мне думается, можно еще упростить
Java
1
2
3
4
5
6
7
8
9
10
11
12
public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("n = ?");
        int n = in.nextInt();
        int sum = 0;
            for (int i = n - 1; i > 0; i--) {
                if (n % i == 0 && n - sum > 0)
                    sum += i;    
            }
            String num = n < sum ? "Yes" : "No";
        System.out.println(num);
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.02.2020, 18:23
Помогаю со студенческими работами здесь

В веденном пользователем предложении удалить избыточные пробелы
В веденном пользователем предложении удалить избыточные пробелы, так что-бы между словами оставался ровно один пробел.

В веденном пользователем предложении удалить избыточные пробелы
В веденном пользователем предложении удалить избыточные пробелы, так что-бы между словами оставался ровно один пробел.

Дана строка-предложение, содержащая избыточные пробелы. Преобразовать чтоб был только один пробел
Условие: Дана строка-предложение, содержащая избыточные пробелы. Преобразовать ее так, чтобы между словами был ровно один пробел

Дана строка-предложение, содержащая избыточные пробелы. Преобразовать ее так, чтобы между словами был ровно один пробел
Дана строка-предложение, содержащая избыточные пробелы. Преобразовать ее так, чтобы между словами был ровно один пробел.

Дана строка-предложение, содержащая избыточные пробелы. Преобразовать ее так, чтобы между словами был ровно один пробел.
Дана строка-предложение, содержащая избыточные пробелы. Преобразовать ее так, чтобы между словами был ровно один пробел.


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru