Федорович Шахова241
?>

Дано двозначне число. Знайти добуток та середнє арифметичне його цифр. Зробити в Python. Дуже потрібно

Информатика

Ответы

D-posilochka

пиши по русски

buyamel
Program q1;
uses crt;
const n=10;
var i,j:integer;
mass:array [1..n] of integer;
countNum:integer; // переменная для хранения количества нечетных чисел
proizv:integer; // переменная для хранения произведения нечетных чисел
BEGIN
proizv:=1; // так как, изначально равно 0, а при умножении на 0 будет всегда 0
{создание последовательности n целых чисел}
Writeln('Случайные целые числа: ');
for i:=1 to n do
begin
mass[ i ]:=random(9)+1; //присваеваем переменной случайное значение от 1 до 10
write(inttostr(mass[ i ])+', ');
end;
{Вычисление произведения и количества нечетных чисел}
for i:=1 to n do
if mass[ i ] mod 2 <> 0 then //проверяем не четное-ли число, если да, то.. .
begin
inc(countNum); //увеличиваем на один кол-во нечетных чисел
proizv:=proizv*mass[ i ]; // высчитываем произведение
end;
{Вывод результатов}
writeln;
writeln('Всего нечетных чисел: '+inttostr(countNum));
writeln('Их произведение: '+inttostr(proizv));
END.
tershova

Храним в памяти 3 последних считанных числа. Для каждой такой тройки проверяем, верно ли, что a[i] - a[i - 1] = a[i - 1] - a[i - 2] > 0. Если это так, выводим тройку, устанавливаем флажок found и выходим из цикла. Если после завершения работы цикла found = false, то тройка не найдена, нужно вывести -1.

В PascalABC.NET тип integer хранит числа до 2 с лишним миллиардов, все числа и разность чисел должны в нем поместиться.

Код (PascalABC.NET 3.4.2.1837):

begin

 var values := new integer[3];

 var n := readinteger;

 (values[1], values[2]) := readinteger2;

 var prev_diff := values[1] - values[0];

 var found := false;

 for var i := 3 to n do begin

   values[i mod 3] := readinteger;

   var diff := values[i mod 3] - values[(i - 1) mod 3];

   if (diff = prev_diff) and (diff > 0) then begin

     print(values[(i - 2) mod 3], values[(i - 1) mod 3], values[i mod 3]);

     found := true;

     break;

   end;

   prev_diff := diff;

 end;

 if not found then print(-1);

end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Дано двозначне число. Знайти добуток та середнє арифметичне його цифр. Зробити в Python. Дуже потрібно
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Svetlana1877
keykov35
andrewshilin1334
axo-geo
Anastasiya81
А Дзукаев1562
Джулия
fucksyara
Евгений1286
Natakarpova75732
a580028r
julkamysh9
Vyacheslavovna1867
TrofimovAnastasiya828
stanefimov