Вычислить сумму всех составных чисел от 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.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.727 из 5
Похожие ответы