Вычислить сумму всех составных чисел от 1 до M. - Turbo Pascal
Формулировка задачи:
Выражение:
Вычислить сумму всех составных чисел от 1 до M. Составные числа можно представить в виде произведения нескольких простых чисел.Задание:
Вычислить значение выражения и вывести его на экран монитора, при этом необходимо предусмотреть возможность вычисления значения выражения несколькими способами или в зависимости от различных параметров.Решение задачи: «Вычислить сумму всех составных чисел от 1 до M.»
textual
Листинг программы
program Project1; uses crt; var m, i, k, s: integer; //входное число, счётчик, счётчик количества чисел в выходной строке, сумма //если число простое, эта функция возвращает true, //если число составное, эта функция возвращает false //специально не писалась, достал из своей коллекции function simple(N: integer): boolean; var i: integer; begin if n < 2 then Result := False else begin Result := True; for i:=2 to trunc(sqrt(N)) do if N mod i = 0 then begin Result := False; exit; end; end; end; //сама программа begin repeat write('Enter M > 1 : '); //ввод M readln(m); until m > 1; //если M > 1, то идём дальше, иначе повторяем ввод s := 0; k := 1; writeln('Not simple numbers:'); for i := 2 to m do if (not simple(i)) then if (maxint - i) >= s then begin s := s + i; //считаем сумму write(i, ', '); if k mod 10 = 0 then writeln; k := k + 1 end else begin //защита от integer overflow writeln; writeln('M is too large!'); readln; exit; end; writeln; if s > 0 then writeln('Sum of not simple = ', s) else writeln('All numbers is simple!'); readln; end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д