С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 1
Регистрация: 16.10.2014
Сообщений: 14

Найдите и выведите все непростые делители числа М

28.12.2014, 04:19. Показов 2038. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Постройте два множества А и К. Во множестве А разместите все делители целого числа М, а во множестве К – все простые делители этого числа. Найдите и выведите все непростые делители числа М.
Я не понимаю как это логически сделать, как я это представлю - две плоскости с множеством точек накладываются друг друга, и нужно найти точки которые не являются общими.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.12.2014, 04:19
Ответы с готовыми решениями:

Найдите и выведите все непростые делители числа М (множества)
Постройте два множества А и К. Во множестве А разместите все делители целого числа М, а во множестве К – все простые делители этого числа....

Найдите все делители заданного числа n
Найдите все делители задоного числа n

Найдите все делители заданного числа n.
Вариант №8 Найдите все делители заданного числа n.

1
Модератор
10383 / 5671 / 3399
Регистрация: 17.08.2012
Сообщений: 17,314
28.12.2014, 20:02
Лучший ответ Сообщение было отмечено Dalaler как решение

Решение

То есть, нужно вывести разность множеств A - K.

Делители любого целого числа m суть 1, m и, может быть, некоторые числа, по величине не превосходящие m/2.
Pascal
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
function prime(n: integer): boolean; {определение простоты числа}
var i: integer;
begin
  if n < 2 {если < 2,}
    then prime := false {то не простое}
    else begin {иначе проверяем}
      prime := true; {пока считаем число простым}
      for i := 2 to trunc(sqrt(n)) do {цикл поиска делителей, почему до корня из n, сами подумайте}
        if n mod i = 0 {если делитель найден,}
          then begin {то}
            prime := false; {число не простое}
            break {выходим из цикла досрочно, дальнейшая проверка смысла не имеет}
          end
    end
end;
 
type sob = set of byte; {...}
 
procedure prn_set(s: string; x: integer; b: sob);  {...}
var i: integer;
begin
  writeln(s, x, ':');
  for i := 1 to x do if i in b then write(i, ' ');
  writeln
end;
 
var a, k: sob;  {...}
    m, i: integer;
 
begin
  repeat {ввод m, m в диапазоне 1..255}
    write('m = ');
    readln(m);
    if (m < 1) or (m > 255) then writeln('m out of range 1..255, reenter.')
  until (m >= 1) and (m <= 255);
  a := [1, m]; {ну, два делителя у числа всегда есть}
  if prime(m)
    then k := [m] {если само число простое, то делителей к него искать уже не надо}
    else begin {если число не простое}
      k := []; {простых делителей пока не найдено}
      for i := 2 to m div 2 do {ищем все остальные делители числа}
        if m mod i = 0 {если делитель найден}
          then begin
            include(a, i); {включаем его в множество A}
            if prime(i) then include(k, i) {если делитель простой, включаем его в множество B}
          end
    end;
  prn_set('All dividers of ', m, a); {печатаем множество всех делителей}
  prn_set('Prime dividers of ', m, k); {печатаем множество простых делителей}
  prn_set('Composite dividers of ', m, a - k);
  {...печатаем разность множеств всех делителей числа и простых делителей числа}
  readln
end.
Ограничение диапазона вводимых чисел до 1..255 связано с тем, что множества для целых чисел в большинстве диалектов паскаля могут включать только диапазон чисел типа byte, то есть, 0..255. Для расширения диапазона чисел, делитель 1 и делитель, равный самому числу, в программе можно учитывать отдельно. Тогда диапазон вводимых чисел можно расширить до 517 = ((255 + 3) * 2 + 1) максимум (3 - это 0, 1 и само число, +1 - связано с целочисленным делением). Для дальнейшего расширения диапазона вводимых чисел требуется либо отказаться от паскалевского множества и сделать свой тип множества, либо избрать диалект паскаля, допускающий расширенный диапазон типа множества. Ну, или целевые множества разбить на поддиапазоны из паскалевских множеств, тоже решение, хотя и через танцы с бубном.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.12.2014, 20:02
Помогаю со студенческими работами здесь

Найдите все делители натурального числа N
1) Вычеслить P=1*1/2*1/4*1/8.... Произведение содержит n множителей. Значение n вводится с клавиатуры. 2) Найдите все делители...

Для натурального числа n найдите все простые делители
Для натурального числа n найдите все простые делители с учётом повторения их и запишите в файл. (Например: n=24; результат: 2, 2, 2, 3).

Найдите все простые делители целого числа в заданном диапазоне
Найдите все простые делители целого числа в заданном диапазоне.

Найдите все делители натурального числа, а также их количество и сумму
Найдите все делители натурального числа, а также их количество и сумму.

Дано натуральное число P. Найдите все делители числа P. Спасибо заранее
Дано натуральное число P. Найдите все делители числа P.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru