Главное меню  

   

Авторизация  

   
   
Хостинг в Украине
   


40.5%Russian Federation Russian Federation
24.2%United States United States
20.3%Ukraine Ukraine
1.9%Kazakhstan Kazakhstan
1.8%Belarus Belarus
1.8%Romania Romania
1.8%Czech Republic Czech Republic
1.6%Kuwait Kuwait
1.2%France France
0.9%Germany Germany

Сегодня: 29
Вчера: 138
На этой неделе: 604
На прошлой неделе: 761
В этом месяце: 1617
В прошлом месяце: 4299
Всего: 10435


   

блог админа

Записи

  • Главная
    Главная Страница отображения всех блогов сайта
  • Категории
    Категории Страница отображения списка категорий системы блогов сайта.

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)
Редактировалось Дата:

You have no rights to post comments

   
© 2012 fordus.