Разложить число п на простые делители, подсчитывая сколько раз встречается один и тот же простой делитель - Pascal
Формулировка задачи:
Разложить число п на простые делители, подсчитывая при этом, сколько раз встречается один и тот же простой делитель, а также вычислить сумму этих делителей
Решение задачи: «Разложить число п на простые делители, подсчитывая сколько раз встречается один и тот же простой делитель»
textual
Листинг программы
function prime(n: integer): boolean; var i: integer; begin if n < 2 then prime := false else begin prime := true; for i := 2 to trunc(sqrt(n)) do if n mod i = 0 then begin prime := false; break end end end; var i, n, k, s: integer; begin write('n = '); readln(n); if n < 2 then writeln('The number has no simple dividers.') else begin writeln('+---------------+-------+'); writeln('| Prime divider | Count |'); writeln('+---------------+-------+'); s := 0; for i := 2 to n do if prime(i) then begin k := 0; while n mod i = 0 do begin n := n div i; inc(k) end; if k > 0 then begin writeln('|', i:14, ' |', k:6, ' |'); s := s + i end; if n = 1 then break end; writeln('+---------------+-------+'); writeln('Sum of prime dividers = ', s) end; readln end.
Объяснение кода листинга программы
- Функция prime(n: integer): boolean; принимает целое число n и возвращает булево значение true, если число n является простым, и false в противном случае.
- В функции prime(n: integer) происходит проверка простоты числа n с помощью алгоритма перебора делителей от 2 до корня из n. Если число делится на какое-либо число из этого диапазона без остатка, то оно не является простым и функция возвращает false.
- В основной программе после ввода числа n с помощью функции readln(n) происходит проверка, является ли число простым. Если число меньше 2, то выводится сообщение
The number has no simple dividers.
- В противном случае выводится таблица с простыми делителями числа n.
- Переменная s инициализируется нулем и используется для подсчета суммы простых делителей числа n.
- Переменная k инициализируется нулем и используется для подсчета количества простых делителей числа n.
- Переменная i инициализируется значением 2 и используется для перебора простых делителей числа n.
- Если число i является простым, то начинается цикл, который делится на число i и увеличивает значение переменной k на единицу до тех пор, пока число n не станет равным 1.
- Если число k больше 0, то выводится строка с названием и значением простого делителя и значение переменной s увеличивается на число i.
- После окончания цикла выводится таблица с простыми делителями числа n.
- Выводится сообщение с суммой простых делителей числа n.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д