ответ:
. в нужно вывести все составные числа из промежутка [2; n]. код программы:
program lab3;
var i,n,j,s,l: integer;
m: real;
begin
readln (n);
for i: =2 to n do
begin
s: =trunc (sqrt (i));
for l: =2 to s do
begin
m: = i mod l;
if m=0 then
write (' ',i);
end;
end;
end.
но проблема - как только s становится больше 2, составные числа начинают несколько раз повторятся, т.к., например 12 делится и на 2 и на 3. вопрос: как мне сделать выход из цикла после первого успешного деления?
var
i, n, j, s, l: integer;
m: real;
begin
readln(n);
for i : = 2 to n do
begin
s : = trunc(sqrt(i));
for l : = 2 to s do
begin
m : = i mod l;
if m = 0 then
begin
write(' ', i);
break;
Вот точно таких же вопросов на этом сайте несколько сотен, если не тысяч
Учитываем, сколько занимает памяти каждый символ. Для этого надо знать кодировку. Если кодировка не указана, то по умолчанию считаем, что один символ занимаем один байт - восемь бит.
Перемножаем все три числа 100 страниц * 35 строк * 50 символов в строке = 175000 символов в книге, или 175000 байт в нашем случае.
Каждый байт содержит 8 бит, так что 175000 байт * 8 бит в байте = 1400000 бит
Кб содержит 1024 байта, 175000 байт / 1024 ≈ 170.9 КБайт
Мб содержит 1024 Кбайта, 170.9 Кбайт / 1024 ≈ 0.167 МБайт