Главная Проекты Номер 9. ЕГЭ по информатике

Номер 9. ЕГЭ по информатике

открываем файл и записываем кажду строку в список

f = open(‘9.txt’)
for s in f:
a = [int(x) for x in s.split()] #сплитуем по пробелу (или ‘;’ если файл csv с разделителями 😉

povt = [x for x in a if a.count(x) == 2] #элементы встречаются ровно 2 раза (соответственно ставим значение исходя из условия)
razl = [x for x in a if a.count(x) == 1] #уникальные (различные) элементы
kr5 = [x for x in a if x % 5 == 0] #элементы кратные 5
dv = [x for x in a if len(str(x)) == 2] #двухзначные элементы


a = sorted(a) #когда нужно найти мин,макс и другие элементы (сортировка от меньшего к больш)

Определите количество строк таблицы, в которых сумма наибольшего и наименьшего чисел меньше суммы двух оставшихся.

k = 0
for s in open(’09.txt’):
a = sorted([int(x) for x in s.split()])
if a[0]+a[3] < a[1]+a[2]:
k += 1
print(k)

Сколько среди них строк, в которых квадрат суммы максимального и минимального чисел в строке больше суммы квадратов двух оставшихся?

k = 0
for s in open(’09.txt’):
a = sorted([int(x) for x in s.split()])
if (a[0]+a[3])2 > a[1]2 + a[2]**2:
k += 1
print(k)

– наибольшее из четырёх чисел меньше суммы трёх других;

– среди четырёх чисел есть только одна пара равных чисел.

k = 0
for s in open(’09.txt’):
a = sorted([int(x) for x in s.split()])
a2 = [x for x in a if a.count(x)==2]
if a[3]<a[0]+a[1]+a[2] and len(a2)==2:
k += 1
print(k)

– все числа в строке различны;

– квадрат максимального числа строки меньше суммы квадратов оставшихся чисел.

k = 0
for s in open(’09.txt’):
a = sorted([int(x) for x in s.split()])
if len(set(a))==3 and a[2]2 < a[0]2 + a[1]**2:
k += 1
print(k)

– наибольшее из четырёх чисел меньше суммы трёх других;

– четыре числа можно разбить на две пары чисел с равными суммами.

k = 0
for s in open(’09.txt’):
a = sorted([int(x) for x in s.split()])
if a[3] < a[0]+a[1]+a[2] and a[0]+a[3]==a[1]+a[2]:
k += 1
print(k)

— в строке есть ровно три числа, каждое из которых повторяется дважды, и одно число без повторений;

— среднее арифметическое минимального и максимального среди повторяющихся чисел строки меньше неповторяющегося числа.

k = 0
for s in open(’09.txt’):
a = [int(x) for x in s.split()]
a2 = [x for x in a if a.count(x)==2]
a1 = [x for x in a if a.count(x)==1]
if len(a2)==6 and len(a1)==1 and (min(a2)+max(a2))/2 < a1[0]:
k += 1
print(k)

— в строке есть ровно одно число, которое повторяется дважды, и пять чисел без повторений;

— произведение трёх наименьших среди неповторяющихся чисел строки больше квадрата повторяющегося числа.

k = 0
for s in open(’09.txt’):
a = sorted([int(x) for x in s.split()])
a2 = [x for x in a if a.count(x)==2]
a1 = [x for x in a if a.count(x)==1]
if len(a1)==5 and len(a2)==2 and a1[0]a1[1]a1[2] > a2[0]**2:
k += 1
print(k)

– в строке только одно число повторяется трижды, остальные числа различны;

– квадрат суммы всех повторяющихся чисел строки больше квадрата суммы всех её неповторяющихся чисел.

k = 0
for s in open(’09.txt’):
a = [int(x) for x in s.split()]
a3 = [x for x in a if a.count(x)==3]
a1 = [x for x in a if a.count(x)==1]
if len(a3)==3 and len(a1)==3 and sum(a3)2 > sum(a1)2:
k += 1
print(k)

– в строке есть одно число, которое повторяется трижды, остальные числа различны;

– количество чётных чисел превышает количество нечётных.

k = 0
for s in open(’09.txt’):
a = [int(x) for x in s.split()]
k += 1
a3 = [x for x in a if a.count(x)==3]
a1 = [x for x in a if a.count(x)==1]
ach = [x for x in a if x%2==0]
anch = [x for x in a if x%2!=0]
if len(a3)==3 and len(a1)==4 and len(ach)>len(anch):
print(k)

— в строке есть два числа, каждое из которых повторяется дважды, остальные три числа различны;

— сумма всех повторяющихся чисел строки не больше суммы всех нечётных чисел.

for s in open(’09.txt’):
a = [int(x) for x in s.split()]
a2 = [x for x in a if a.count(x)==2]
a1 = [x for x in a if a.count(x)==1]
anch = [x for x in a if x%2!=0]
if len(a2)==4 and len(a1)==3 and sum(a2)<=sum(anch):
print(sum(a))
break

– квадрат суммы наибольшего и наименьшего из чисел больше суммы квадратов четырех оставшихся чисел;

– в строке ровно одно число повторяется три раза, остальные числа в строке различны.

k = 0
for s in open(’09.txt’):
a = sorted([int(x) for x in s.split()])
a3 = [x for x in a if a.count(x)==3]
a1 = [x for x in a if a.count(x)==1]
if ((a[0]+a[5])2 > a[1]2 + a[2]2 + a[3]2 + a[4]**2) or \
(len(a3)==3 and len(a1)==3):
k += 1
print(k)