Автоматическое устройство осуществило перекодировку информационного сообщения длиной 25 символов, первоначально записанного на английском языке в 8–битном коде ASCII, в 16–битную кодировку Unicode. При этом информационное сообщение увеличилось в ……
. в нужно вывести все составные числа из промежутка [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. вопрос: как мне сделать выход из цикла после первого успешного деления?
Значит 2527= количество квартир * количество подъездов 2527 = n * m = 7 * 19 *19 Получается, что если подъездов 7, то в каждом 19 * 19 квартир, что отвечает 19 площадкам, и на каждой площадке в таком случае по 19 квартир.
Или может быть 19 подъездов, 7 этажей по 19 квартир на этаже
Или же 2527 = 7 * 361 * 1 = 133 * 19 * 1
133 подъезда, 1 этаж, на каждом этаже 19 квартир 361 подъезд, 1 этаж, на каждом этаже 7 квартир
Или же 2527 = 2527 * 1 * 1
2527 подъезд, 1 этаж, на каждом этаже по 1 квартире 1 подъезд, 1 этаж, 2527 квартир на этаже
ответ:
. в нужно вывести все составные числа из промежутка [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;