- Просмотров: 4289
- Комментариев: 0
- Подписаться на обновления
- Печатать
- Поделиться
27 (2) задание ЕГЭ информатика - Python
Напишите эффективную, в том числе и по используемой памяти, программу которая должна вывести на экран максимальное произведение двух различных элементов последовательности которое не кратно 15.
Если такой пары нет, программа должна вывести 0.
Пример входных данных:
4
90
10
29
3
Пример выходных данных:
290
Программа не эфективная по времени и памяти:
- a=[]
- m=0
- n=int(input())
- for i in range(n):
- a.append(int(input()))
- for i in range(n-1):
- for g in range(1+i,n):
- if a[i]*a[g]%15!=0 and a[i]*a[g]>m:
- m=a[i]*a[g]
- print(m)
Программа эфективная по времени и памяти:
- n=int(input())
- m1=0 # наибольший элемент не кратный 3 но кратный 5
- m2=0 # наибольший элемент не кратный 15
- m3=0 # наибольший элемент не кратный 5 но кратный 3
- for i in range(n):
- k=int(input())
- if k%3!=0 and k%5==0 and k>m1:
- m1=k
- elif k%15!=0 and k>m2:
- m2=k
- elif k%5!=0 and k%3==0 and k>m3:
- m3=k
- if m2*m1>m2*m3 and m2*m1>m1*m3:
- print(m2*m1)
- elif m2*m1<m2*m3 and m2*m3>m1*m3:
- print(m2*m3)
- elif m2*m1<m1*m3 and m1*m3>m2*m3:
- print(m1*m3)