Дано чотири числа –довжини відрізків. Визначити чи можуть дані відрізки бути сторонами деякого прямокутника. (В прямокутнику протилежні сторони рівні). на с
. в нужно вывести все составные числа из промежутка [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. вопрос: как мне сделать выход из цикла после первого успешного деления?
ответ:
. в нужно вывести все составные числа из промежутка [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;
Исходя из этого имеем (приведём всё к битам):
1) 5 бит
2) 15 байт = 15*8 бит = 120 бит
3) 1024 килобайт = 1024*1024 байт = 1048576 байт = 1048576 * 8 бит = 8388608 бит
4) 1024 мегабайт = 1024*1024*1024*8 бит = 8589934592 бит
5) 15 килобайт = 15*1024*8 бит = 122880 бит
Таким образом:
5 бит → 15 байт → 15 килобайт → 1024 килобайт → 1024 мегабайт
(хотя здесь и вычислять ничего не нужно - всё итак очевидно и без расчётов)