Program YaBidlo;
Var
i, A: longint;
x,
u, j,
N, m : longint;
Function FDiv (A, left : LongInt) : LongInt;
var
d,
i : longint;
begin
d := 1;
for i := left to Trunc (Sqrt (A)) do
if (A mod i = 0)
then
begin
d := i;
Break;
end;
if (d <> 1)
then
FDiv := d
else
FDiv := A;
end;
Function g (N, u : longint) : longint;
var
i : longint;
begin
i := 0;
while (N mod u = 0)
do
begin
Inc (i);
N := N div u;
end;
g := i;
end;
Begin
Assign (Input, 'input.txt');
Assign (Output, 'output.txt');
Reset (Input);
Read (A);
Close (Input);
m := 0;
N := 1;
i := FDiv (A, 2);
u := 2;
while (A > 1)
do
begin
N := N * i;
j := 0;
while (A mod i = 0)
do
begin
Inc (j);
A := A div i;
end;
if (j > m)
then
begin
m := j;
u := i;
end;
i := FDiv (A, i + 2);
end;
x := 1;
while (g (N * x, u) * N * x < m)
do
Inc (x);
N := N * x;
ReWrite (Output);
Write (N);
Close (Output);
End.
177 = 10110001
160 = 10100000
После применения операции логического "и" имеем маску:
11100000 = 224
Ответ: 224.
Сложно понять, что нужно было сделать автору программы, но в любом случае сделано криво. Ввод и вывод организованы так, что выводимые значения сливаются с вводимыми, образуя непонятные комбинации.
Программа запрашивает некоторое значение "В", на превышение которого потом она реагирует один раз. Затем запрашивается количество чисел, которые надо ввести. Эти числа вводятся в цикле (почему это цикл while - непонятно, обычно подобные вещи делают в цикле for) и тут же выводится, т.е. программа повторяет введенное число. В случае, когда введенное число первый раз превышает "В", перед этим числом выводится значение "В". Именно для этого использована логическая переменная bol: после возникшего превышения она принимает значение false и отключает дальнейшую проверку на превышение.
1) program ht1;
var v,p,r:real;
begin
p:=3.14;
writeln ('vvedite r');
readln (r);
v:=4/3*p*(r*r*r);
writeln(v);
end.
2) program ht2;
var x,y,r:integer;
begin
writeln('vvedite r);
readln(r);
writeln('vvedite x');
readln (x);
writeln ('vvedite y');
readln (y);
if (x<=r) and (y<=r)
then writeln ('prinadlezhit')
else writeln ('ne prinadlezhit');
end.
3) а в третью я врубиться не могу.
1) По столбцу "Кол. уч." числа : 22, 33, 43, 15, 30
в форматах: числовой 0 знаков после запятой (целые), 2 знака, дата, процентный, числовой 0 знаков
2) Когда числа представлены с точностью до сотых и их диапазон изменения мал, например 4.77...325.41