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

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

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

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

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

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

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

1
Модератор
10398 / 5686 / 3399
Регистрация: 17.08.2012
Сообщений: 17,329
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
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 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 считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru