|
2 / 2 / 0
Регистрация: 03.05.2020
Сообщений: 202
|
|
Найти количество делителей двух чисел09.07.2021, 08:08. Показов 11769. Ответов 30
Метки нет (Все метки)
Дано натуральное число n. Подсчитайте количество таких пар чисел (a;b), что:
a и b — делители n; a<b; a и b — взаимно простые; ab≤n. Входные данные Вводится натуральное число n≤108. Выходные данные Выведите количество таких пар. Примеры Ввод 10 Вывод 4
0
|
|
| 09.07.2021, 08:08 | |
|
Ответы с готовыми решениями:
30
С клавиатуры вводится N чисел. Найти количество чисел, у которых количество делителей четное число Найти количество чисел имеющих четное количество делителей Найти количество чисел имеющих четное количество делителей |
|
6 / 5 / 1
Регистрация: 19.07.2021
Сообщений: 1
|
||||||
| 19.07.2021, 11:09 | ||||||
Сообщение было отмечено dmitrii2000 как решение
Решение
Здравствуйте, Catstail, ваше решение почти правильное, я его лишь доработал под данное условие.
Во-первых, ab≤n, а не ab<n. Во-вторых, условие задачи не очень правильное по моему мнению. 1 считается за простое число, хотя это не так. Таким образом получаем 4 пары чисел: (1, 10);(1, 5);(1, 5);(2, 5). Учитывая эти факторы, выкладываю доработанное решение:
5
|
||||||
|
2383 / 1667 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||
| 19.07.2021, 12:47 | ||
|
0
|
||
|
1 / 1 / 0
Регистрация: 10.02.2022
Сообщений: 2
|
||||||
| 06.07.2024, 22:36 | ||||||
|
1. разложим число n на простые множители.
получится разложение вида: 2. Пользуясь комбинаторикой я вывел формулу для ответа: т.е. остаётся только перебрать все простые делители и посчитать ответ. мой код:
1
|
||||||
|
Вездепух
13214 / 6847 / 1825
Регистрация: 18.10.2014
Сообщений: 17,333
|
||
| 07.07.2024, 06:34 | ||
|
Более того, по вашей формуле получается, что число 20 (= 22*51) имеет 7 делителей (=((2*2+1)(2*1+1)-1)/2). Но правильный ответ - 6 (=(2+1)(1+1)).
0
|
||
|
2383 / 1667 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||
| 07.07.2024, 10:01 | ||
|
1
|
||
|
Вездепух
13214 / 6847 / 1825
Регистрация: 18.10.2014
Сообщений: 17,333
|
||
| 07.07.2024, 18:09 | ||
|
0
|
||
|
Вездепух
13214 / 6847 / 1825
Регистрация: 18.10.2014
Сообщений: 17,333
|
|
| 24.08.2024, 01:23 | |
|
Для начала уберем требование a<b из условия задачи. Пусть нас интересует P(x) - количество таких пар (a, b) для числа x, в котором (a, b) и (b, a) считаются разными парами. Обратите внимание, что теперь пара (1, 1) тоже учитывается и это единственная "симметричная" пара.
1. Взглянем на искомую функцию P(x). Пусть y и z - взаимно просты (эквивалентно: простые факторизации y и z не содержат одинаковых факторов). Пусть взаимно простая пара (a, b) входит в P(y), а взаимно простая пара (c, d) входит в P(z). Очевидно, что ac|yz (делит) и bd|yz. Ясно также, что числа ac и bd - взаимно просты. Действительно, если, скажем, c и b имеют общий простой фактор, то это противоречит взаимной простоте y и z. То есть пара (ac, bd) будет входить в P(yz). В другую сторону, пусть пара (e, f) входит в P(yz). Факторизация e будет содержать только простые факторы чисел y и z. Обозначим произведение первых через a, а вторых - через c, т.е. e=ac. Аналогичным образом разложим f в произведение f=bd. Мы получим пары (a, b) и (c, d). Понятно, что и a, и b делит y. При этом общих простых факторов у a и b нет (в противном случае e и f не были бы взаимно простыми), что значит, что a и b - взаимно простые. То есть (a, b) входит в P(y). Аналогичным образом: (c, d) входит в P(z). Несложно видеть, что таким образом мы получили взаимно однозначное соответствие между каждой комбинацией пар (a, b) из P(y) и (с, d) из P(z) и парой (ac, bd) из P(yz). Из этого следует мультипликативность функции P(x), то есть для взаимно простых y и z выполняется P(yz) = P(y)P(z) 2. Пусть x=pn, где p - простое число. Чему равно P(x)? Очевидно, что это будет пара (1, 1) и всевозможные пары вида (1, pk) и (pk, 1) для k=1..n. Общее количество таких пар равно 2n+1. 3. Так как функция P(x) мультипликативна, для любого числа x, факторизация которого имеет вид pkqlrm..., функция P(x) будет равна (2k+1)(2l+1)(2m+1)... 4. А теперь вернем требование a<b в условие задачи. Тут же из общего набора допустимых пар исчезнет пара (1, 1), а из остального набора допустимых пар исчезнут пары-нарушители, которых будет ровно половина. Это и даст нам искомую формулу: для числа x=pkqlrm... ответ задачи равен ((2k+1)(2l+1)(2m+1)... - 1)/2 P.S. На шаге 3 видно, что P(x) равна количеству делителей x2.
1
|
|
|
Вездепух
13214 / 6847 / 1825
Регистрация: 18.10.2014
Сообщений: 17,333
|
|
| 24.08.2024, 19:59 | |
|
P.P.S. Интересно было бы найти какой-то более-менее несложный способ взаимно однозначного отображения между такими парами для x и делителями x2. Это привело бы к более "конструктивному" (и потому более наглядному) выводу формулы из пункта 3. Навскидку у меня не получилось найти такое отображение.
0
|
|
|
0 / 0 / 0
Регистрация: 26.08.2024
Сообщений: 2
|
||||||
| 26.08.2024, 22:00 | ||||||
0
|
||||||
|
Вездепух
13214 / 6847 / 1825
Регистрация: 18.10.2014
Сообщений: 17,333
|
|
| 26.08.2024, 22:35 | |
|
Правильное решение уже приводилось в аналогичной теме: Найти количество делителей двух чисел
0
|
|
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,616
|
|||
| 26.08.2024, 23:18 | |||
std::gcd из <numeric>тем более, у тебя один из самых медленных алгоритмов для вычисления gcd на основе вычитаний. Можно же использовать алгоритм на основе %. Хотя, в код не вникал и, возможно, там всё нужно менять...
0
|
|||
| 26.08.2024, 23:18 | |
|
Для каждого числа найти количество его делителей и определить общее количество простых чисел в последовательности Найти количество делителей каждого из целых чисел от a до b на с++
Вводится последовательность из N целых чисел. Найти количество двух- и количество трех разрядных чисел в последовательн Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|