Информатика, вопрос задал mexedov3211 , 7 лет назад

98 баллов Переведите с паскаля на питон

Const
   N = 30;
Var
   A:Array[1..N] of integer;
   i,SMax,iSMax:integer;
Begin
Randomize;
Write('Исходный массив:');
For i:= 1 to N do
    Begin
    A[i]:=random(N);
    Write(' ',A[i])
    End;
WriteLn;
iSMax:=1;
SMax:=A[1]+A[2]+A[3];
For i:= 3 to N-2 do
    if A[i]+A[i+1]+A[i+2]>SMax then
       Begin
       iSMax:=i;
       SMax:=A[i]+A[i+1]+A[i+2];
       End;
WriteLn('Номера элементов, сумма которых максимальна: ',iSMax,', ',iSMax+1,', ',iSMax+2);
WriteLn('Максимальная сумма = A[',iSMax,'] + A[',iSMax+1,'] + A[',iSMax+2,'] = ',SMax)
End.

Ответы на вопрос

Ответил raf1O5
0

from random import randint as random

n = 30

a = [random(1,n) for i in range(1,n+1)]

print('Исходный массив: ',end='')

for i in range(0,n):

   print(a[i],end=' ')

print()

iSMax = 1

SMax = a[0] + a[1] + a[2]

for i in range(2,n-2):

   if a[i] + a[i+1] + a[i+2] > SMax:

       iSMax = i+1

       SMax = a[i] + a[i+1] + a[i+2]

print('Номера элементов, сумма которых максимальна:','{}, {}, {}'.format(iSMax,iSMax+1,iSMax+2))

print('Максимальная сумма = a[{}] + a[{}] + a[{}]= {}'.format(iSMax,iSMax+1,iSMax+2,SMax))

Новые вопросы