Ошибка.
Попробуйте повторить позже
Имеется набор данных, состоящий из положительных целых чисел. Необходимо определить максимальное четное произведение R двух элементов.
Входные данные: Даны два входных файла: файл A и файл B , каждый из которых содержит в первой строке количество чисел N (1 N 100000). Каждая из следующих N строк содержит натуральное число, не превышающее 1000.
В ответе укажите два числа через пробел: сначала максимальное произведение для файла A, затем для файла B.
#переборный алгоритм: f = open(’1_A.txt’) n = int(f.readline()) a = [] for i in range(n): a.append(int(f.readline())) maxi = 0 for i in range(0,len(a)-1): for j in range(i+1,len(a)): if (a[i]*a[j]) % 2 == 0: maxi = max(maxi, a[i]*a[j]) print(maxi)
#эффективный алгоритм: f = open(’1_B.txt’) n = int(f.readline()) x = [] ost = [] maxi = 0 for i in range(n): a = int(f.readline()) x.append(a) if a % 2 == 0: ost.append(a) x = sorted(x) if ost != []: if max(ost) == max(x): maxi = max(ost)*x[-2] else: maxi = max(ost)*x[-1] print(maxi)
Ошибка.
Попробуйте повторить позже
На вход программы поступает последовательность из N целых положительных чисел. Рассматриваются все пары различных элементов последовательности. Необходимо определить количество пар чисел, произведение которых кратно 7, а сумма нечётна.
В ответе укажите два числа: сначала значение для файла А, затем через пробел значение для файла B.
Примечание. Для файла B необходимо заменить первую строку кода.
f = open("27A_9.txt") n = int(f.readline()) k,k1,k7,k71=0,0,0,0 for i in range(n): x=int(f.readline()) if x%7==0 and x%2==0: k7+=1 if x%7==0 and x%2!=0: k71+=1 if x%7!=0 and x%2==0: k+=1 if x%7!=0 and x%2!=0: k1+=1 print(k7*k71+k7*k1+k*k71)
Ошибка.
Попробуйте повторить позже
Дано число N, затем N натуральных чисел. Требуется найти максимальное четное произведение двух чисел кратное 27.
Входные данные: Даны два входных файла (файл A и файл B), каждый из которых содержит в первой строке количество пар . Каждая из следующих N строк содержит натуральное число, не превышающее 1000.
В ответе укажите два числа: значение для файла А, затем, через пробел, для файла Б. Так же можно указать ответ ТОЛЬКО для файла А.
Для А
s = open(’27-5a.txt’, ’r’).readlines()[1:] arr = [] for i in range(len(s)): arr.append(int(s[i])) print(arr) n = len(arr) mx = -1 for i in range(n - 1): for j in range(i + 1, n): if (arr[i]*arr[j]) % 27 == 0 and (arr[i]*arr[j]) % 2 == 0: mx = max(mx, arr[i]*arr[j]) print(mx)
Для Б
with open(’27-5b.txt’) as f: n = int(f.readline()) D = 27# Наш делитель k = [0]*D #массив,в котором каждый элемент- это максимальное число под определенном остатком от деления на D pmax = 0 for i in range(n): x = int(f.readline()) for d in range(D):# проходимся по нашим остаткам if (x * d) % 27 == 0 and (x * d) % 2 == 0: pmax = max(pmax, x*k[d]) #если условие выполнено,то сравниваем произведение чисел с максимумом k[x % D] = max(k[x % D], x) #Сравниваем нынешнее число с числом в списке k под индексом x % D print(pmax)
- 694710
- 694710 999000
Ошибка.
Попробуйте повторить позже
Имеется набор данных, состоящий из положительных целых чисел. Необходимо определить количество пар элементов этого набора, в которых и сумма элементов нечётна, а произведение делится на 13.
Входные данные: Даны два входных файла (файл и файл ), каждый из которых содержит в первой строке количество чисел Каждая из следующих строк содержит натуральное число, не превышающее 1000.
Пример входного файла:
5
4
13
27
39
7
Для указанных входных данных количество подходящих пар должно быть равно 2. В приведённом наборе имеются две пары (4, 13) и (4, 39), сумма элементов которых нечётна, и произведение кратно 13.
В ответе укажите два числа через пробел: сначала количество подходящих пар для файла затем для файла
Для А
s = open(’27-4a.txt’, ’r’).readlines()[1:] arr = [] for i in range(len(s)): arr.append(int(s[i])) n = len(arr) cnt = 0 for i in range(n - 1): for j in range(i + 1, n): if (arr[i]*arr[j]) % 13 == 0 and (arr[i]+arr[j]) % 2 != 0: cnt += 1 print(cnt)
Для Б
s = open(’27-4b.txt’, ’r’).readlines()[1:] arr = [] for i in range(len(s)): arr.append(int(s[i])) n = len(arr) n_ch_k13, ch_k13, n_ch_nk13, ch_nk13 = 0, 0, 0, 0 for i in range(n): a = arr[i] if a % 13 == 0 and a % 2 == 0: ch_k13 += 1 elif a % 13 == 0 and a % 2 != 0: n_ch_k13 += 1 elif a % 13 != 0 and a % 2 == 0: ch_nk13 += 1 elif a % 13 != 0 and a % 2 != 0: n_ch_nk13 += 1 res = ch_k13*n_ch_k13 + ch_k13*n_ch_nk13 + n_ch_k13*ch_nk13 print(res)