Задайте массив из 10 элементов с датчика случайных чисел. Поменяйте местами соседние злементы, стоящие на четных местах, с элементам, стоящими на нечетных. Выведите на экран исходный и полученный массивы. Лучше всего на Pascal
procedure Divisor(x: integer); var d, c: integer; begin c := 1; if(x < 1) then exit; write(x, ' = '); if(x = 1) then begin writeln(1, ' Количество делителей:', 1);exit end; d := 2; while x > 1 do begin if(x mod d = 0) then begin if(x div d <> 1) then write(d, ' * ') else write(d, '; ', ' Количество делителей:', c); x := x div d; c := c + 1; end else d := d + 1; end; writeln; end; begin writeln('Введите четыре числа:'); for i := 1 to 4 do read(ar[i]); writeln; for i := 1 to 4 do Divisor(ar[i]); end.
1
Объяснение:
Для начала посчитаем выражения в первой скобке:
512^78 = 2,1040543606193494028963959531521e+211
512^60 = 3,5991310356345571062484308061488e+162
Вычитаем: 512^78-512^60 = 2.104054e+211
Теперь во второй:
512^5 = 35 184 372 088 832 (35 триллионов 184 миллиарда 372 миллиона 88 тысяч 832)
64^5 = 1 073 741 824 (1 миллиард 73 миллиона 741 тысяча 824)
Вычитаем: 35 184 372 088 832 - 1 073 741 824 = 35 183 298 347 008
Считаем общее выражение:
(512^78-512^60)*(512^5+64^5) = 7.403209e+224
Получается, одна цифра 7.
Надеюсь
i: integer;
ar: array[1..4]of integer;
procedure Divisor(x: integer);
var
d, c: integer;
begin
c := 1;
if(x < 1) then exit;
write(x, ' = ');
if(x = 1) then begin writeln(1, ' Количество делителей:', 1);exit end;
d := 2;
while x > 1 do
begin
if(x mod d = 0) then
begin
if(x div d <> 1) then write(d, ' * ')
else write(d, '; ', ' Количество делителей:', c);
x := x div d;
c := c + 1;
end
else d := d + 1;
end;
writeln;
end;
begin
writeln('Введите четыре числа:');
for i := 1 to 4 do read(ar[i]);
writeln;
for i := 1 to 4 do Divisor(ar[i]);
end.