|
0 / 0 / 0
Регистрация: 24.02.2018
Сообщений: 3
|
|
Определить сумму всех простых делителей числа n03.07.2018, 15:58. Показов 6581. Ответов 10
Метки нет (Все метки)
Создать рекурсивную функцию которая определяет сумму всех простых делителей числа n. Нужно очень срочно нужна только сама рекурсия это для виндовс форм ,я не могу понять как это реализовать
0
|
|
| 03.07.2018, 15:58 | |
|
Ответы с готовыми решениями:
10
Для каждого числа найти количество его делителей и определить общее количество простых чисел в последовательности Для заданного натурального числа n найти сумму всех его делителей |
|
26 / 23 / 12
Регистрация: 25.06.2018
Сообщений: 91
|
||||||||||||||||
| 03.07.2018, 19:00 | ||||||||||||||||
Сообщение было отмечено Kolesnikov_15 как решение
Решение
1
|
||||||||||||||||
|
0 / 0 / 0
Регистрация: 24.02.2018
Сообщений: 3
|
|
| 03.07.2018, 20:59 [ТС] | |
|
Спасибо большое
0
|
|
|
26 / 23 / 12
Регистрация: 25.06.2018
Сообщений: 91
|
|||||||||||
| 03.07.2018, 21:12 | |||||||||||
|
Небольшая ошибка. Забыта закрывающая фигурная скобка
В цикле будет
1
|
|||||||||||
|
26 / 23 / 12
Регистрация: 25.06.2018
Сообщений: 91
|
||||||
| 05.07.2018, 09:58 | ||||||
|
Немного вернусь к теме. Может кому и понадобиться. Можно существенно ускорить алгоритм. Так как мы проверяем числа, начиная с маленьких и увеличивая их, то цикл можно стартовать не с 3, а с того числа, которое мы уже нашли. Пример:
делители числа - 3 * 3 * 7 * 7 * 11 = 4851. Мы нашли первой простой делитель 3, и в рекурсии вызвали поиск делителей числа 1617. Так как мы закончили числом 3, с него надо и начинать. Следующий шаг получение простого делителя 3 и числа 539. Начиная с 3, получим делитель 7 и число 77. Опять рекурсия, начиная с числа7, так как меньшие мы уже проверили, получим 7 и 11. Вторым ускорением будет предварительный подсчет (unsigned int)(sqrt(number) + 0.0001), чтобы не вызывать каждый раз в цикле вычисление квадратного корня(хотя некоторые оптимизаторы способны это делать сами), либо заменить вычисление квадратного корня умножением, то есть до тех пор пока i**i <= number Введем дополнительную вспомогательную функцию, получающую 2 параметра, числа и стартовое простое число для цикла поиска. Возвращает данная функция наименьшее простое число, являющееся делителем заданного числа.
0
|
||||||
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,870
|
|||
| 05.07.2018, 15:51 | |||
Добавлено через 1 минуту
0
|
|||
|
26 / 23 / 12
Регистрация: 25.06.2018
Сообщений: 91
|
||
| 05.07.2018, 19:21 | ||
|
Единица не является простым числом. Простое число — это натуральное число, которое имеет ровно два различных натуральных делителя: единицу и самого себя. Все остальные числа, кроме единицы, называются составными. Таким образом, все натуральные числа, большие единицы, разбиваются на простые и составные. Число 1 не относят ни к простым, ни к составным.
0
|
||
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,870
|
|||
| 05.07.2018, 20:14 | |||
|
из этого же следует что числа 1 и 0 вернутся из функции следовательно они простые
0
|
|||
|
26 / 23 / 12
Регистрация: 25.06.2018
Сообщений: 91
|
|
| 05.07.2018, 20:18 | |
|
задача найти сумму всех простых делителей, а не простые числа, поэтому для 0 вернется 0, для 1 единица, что и требовалось
0
|
|
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,870
|
|||
| 05.07.2018, 21:02 | |||
![]() и что там насчет 4 и 8?
0
|
|||
|
26 / 23 / 12
Регистрация: 25.06.2018
Сообщений: 91
|
|
| 05.07.2018, 21:03 | |
|
0
|
|
| 05.07.2018, 21:03 | |
|
Помогаю со студенческими работами здесь
11
Определить, больше ли сумма простых делителей числа М, произведения составных делителей числа N.
Составить программу, которая вычисляет количество S всех делителей и сумму Y всех делителей натурального числа N Найти произведение всех простых делителей заданного числа Получение всех простых делителей заданного числа (Pascal -> C) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|