ответ:
. в нужно вывести все составные числа из промежутка [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;
=С$5-$B3, проверяла в екселе
Объясния: если в екселе использовать значок $ то ми фиксируем или столбец или строку.
В нашем случае С$5 ми зафиксировали 5, а в $B3 ми зафиксировали В.
Наша формула стояла в клетке D5, а когда ми скопировали её в Е6. То в первой части формулы тоесть С$5 в формуле столбец с C передвинулся на D потому что мы его не фиксировали, а 5 так и осталось потому что оно зафиксированное. Тогда получилось D$5. А другая часть формулы то есть $В3 наоборот столбец В так и остался, а с 3 стала 4. И у нас получилось $В4. Все передвинулись только на одину букву и цифру потому что ми переместили формулу с D5 в E6 а кто на один столбец вправо и на одну цифру вниз.