Ошибка.
Попробуйте повторить позже
Имеется набор данных, состоящий из положительных целых чисел. Необходимо определить количество пар элементов (, ) этого набора, в которых 1 i < j N и произведение элементов кратно 10.
Входные данные: Даны два входных файла: файл A и файл B , каждый из которых содержит в первой строке количество чисел N (1 N 100000). Каждая из следующих N строк содержит натуральное число, не превышающее 1000.
В ответе укажите два числа через пробел: сначала количество подходящих пар для файла A, затем для файла B.
#переборный алгоритм: f = open(’2_A.txt’) n = int(f.readline()) counter = 0 a = [] for i in range(n): a += [int(f.readline())] for i in range(0,len(a) - 1): for j in range(i+1,len(a)): if (a[i]*a[j]) % 10 == 0: counter += 1 print(counter)
#эффективный алгоритм: f = open(’2_B.txt’) n = int(f.readline()) counter = 0 prop = [0] * 4 a = int(f.readline()) for i in range(n - 1): prop[0] += 1 prop[1] += int(a % 2 == 0) prop[2] += int(a % 5 == 0) prop[3] += int(a % 10 == 0) y = int(f.readline()) a = y if y % 10 == 0: counter += prop[0] elif y % 5 == 0: counter += prop[1] elif y % 2 == 0: counter += prop[2] else: counter += prop[3] print(counter)
Ошибка.
Попробуйте повторить позже
Имеется набор данных, состоящий из положительных целых чисел. Необходимо определить количество пар элементов (, ) этого набора, в которых 1 i < j N и произведение элементов кратно 32.
Входные данные: Даны два входных файла: файл A и файл B , каждый из которых содержит в первой строке количество чисел N (1 N 100000). Каждая из следующих N строк содержит натуральное число, не превышающее 1000.
Пример входного файла:
7
19
20
11
10
9
22
12
Для указанных входных данных количество подходящих пар должно быть равно 0.
В ответе запишите два числа через пробел: сначала искомое количество для файла A, затем для файла B.
#переборный алгоритм: f = open(’10_A.txt’) n = int(f.readline()) counter = 0 a = [] for i in range(n): a += [int(f.readline())] for i in range(0,len(a) - 1): for j in range(i+4,len(a)): if (a[i]*a[j]) % 32 == 0: counter += 1 print(counter)
#эффективный алгоритм: f = open(’10_B.txt’) n = int(f.readline()) counter = 0 prop = [0] * 6 a = int(f.readline()) for i in range(n - 1): prop[0] += 1 prop[1] += int(a % 2 == 0) prop[2] += int(a % 4 == 0) prop[3] += int(a % 8 == 0) prop[4] += int(a % 16 == 0) prop[5] += int(a % 32 == 0) y = int(f.readline()) a = y if y % 32 == 0: counter += prop[0] elif y % 16 == 0: counter += prop[1] elif y % 8 == 0: counter += prop[2] elif y % 4 == 0: counter += prop[3] elif y % 2 == 0: counter += prop[4] else: counter += prop[5] print(counter)
Ошибка.
Попробуйте повторить позже
Имеется набор данных, состоящий из положительных целых чисел. Необходимо определить количество пар элементов (, ) этого набора, в которых 1 i < j N и произведение элементов не кратно 22.
Входные данные: Даны два входных файла: файл A и файл B , каждый из которых содержит в первой строке количество чисел N (1 N 100000). Каждая из следующих N строк содержит натуральное число, не превышающее 10000.
Пример входного файла:
6
9
11
4
2
8
3
Для указанных входных данных количество подходящих пар должно быть равно 12.
В ответе укажите два числа без разделительных знаков: сначала количество подходящих пар для файла А, затем для файла B.
#переборный алгоритм: f = open(’8_A.txt’) n = int(f.readline()) counter = 0 a = [] for i in range(n): a += [int(f.readline())] for i in range(0,len(a) - 1): for j in range(i+1,len(a)): if (a[i]*a[j]) % 22 != 0: counter += 1 print(counter)
#эффективный алгоритм: f = open(’8_B.txt’) n = int(f.readline()) counter = 0 prop = [0] * 3 a = int(f.readline()) for i in range(n - 1): prop[0] += int(a % 2 != 0 and a % 11 != 0) prop[1] += int(a % 2 == 0 and a % 11 != 0) prop[2] += int(a % 2 != 0 and a % 11 == 0) y = int(f.readline()) a = y if y % 2 != 0 and y % 11 != 0: counter += prop[0] counter += prop[1] counter += prop[2] elif y % 2 != 0 and y % 11 == 0: counter += prop[2] counter += prop[0] elif y % 2 == 0 and y % 11 != 0: counter += prop[1] counter += prop[0] print(counter)
Ошибка.
Попробуйте повторить позже
Имеется набор данных, состоящий из положительных целых чисел. Необходимо определить количество пар элементов (, ) этого набора, в которых 1 i < j N и произведение элементов не кратно 6.
Входные данные: Даны два входных файла: файл A и файл B , каждый из которых содержит в первой строке количество чисел N (1 N 100000). Каждая из следующих N строк содержит натуральное число, не превышающее 1000.
Пример входного файла:
6
9
7
4
2
8
3
Для указанных входных данных количество подходящих пар должно быть равно 9.
В ответе укажите два числа без разделительных знаков: сначала количество подходящих пар для файла А, затем для файла B.
#переборный алгоритм: f = open(’7_A.txt’) n = int(f.readline()) counter = 0 a = [] for i in range(n): a += [int(f.readline())] for i in range(0,len(a) - 1): for j in range(i+1,len(a)): if (a[i]*a[j]) % 6 != 0: counter += 1 print(counter)
#эффективный алгоритм: f = open(’7_B.txt’) n = int(f.readline()) counter = 0 prop = [0] * 3 a = int(f.readline()) for i in range(n - 1): prop[0] += int(a % 2 != 0 and a % 3 != 0) prop[1] += int(a % 2 == 0 and a % 3 != 0) prop[2] += int(a % 2 != 0 and a % 3 == 0) y = int(f.readline()) a = y if y % 2 != 0 and y % 3 != 0: counter += prop[0] counter += prop[1] counter += prop[2] elif y % 2 != 0 and y % 3 == 0: counter += prop[2] counter += prop[0] elif y % 2 == 0 and y % 3 != 0: counter += prop[1] counter += prop[0] print(counter)
Ошибка.
Попробуйте повторить позже
Имеется набор данных, состоящий из положительных целых чисел. Необходимо определить количество пар элементов (, ) этого набора, в которых 1 i < j N и произведение элементов кратно 16.
Входные данные: Даны два входных файла: файл A и файл B , каждый из которых содержит в первой строке количество чисел N (1 N 100000). Каждая из следующих N строк содержит натуральное число, не превышающее 1000.
Пример входного файла:
7
4
5
6
16
8
3
2
Для указанных входных данных количество подходящих пар должно быть равно 9.
В ответе запишите два числа через пробел: сначала искомое количество для файла A, затем для файла B.
#переборный алгоритм: f = open(’2_A.txt’) n = int(f.readline()) counter = 0 a = [] for i in range(n): a += [int(f.readline())] for i in range(0,len(a) - 1): for j in range(i+1,len(a)): if (a[i]*a[j]) % 16 == 0: counter += 1 print(counter)
#эффективный алгоритм: f = open(’2_B.txt’) n = int(f.readline()) counter = 0 prop = [0] * 5 a = int(f.readline()) for i in range(n - 1): prop[0] += 1 prop[1] += int(a % 2 == 0) prop[2] += int(a % 4 == 0) prop[3] += int(a % 8 == 0) prop[4] += int(a % 16 == 0) y = int(f.readline()) a = y if y % 16 == 0: counter += prop[0] elif y % 8 == 0: counter += prop[1] elif y % 4 == 0: counter += prop[2] elif y % 2 == 0: counter += prop[3] else: counter += prop[4] print(counter)
Ошибка.
Попробуйте повторить позже
Имеется набор данных, состоящий из положительных целых чисел. Необходимо определить количество пар элементов (, ) этого набора, в которых 1 i < j N и произведение элементов кратно 14.
Входные данные: Даны два входных файла: файл A и файл B , каждый из которых содержит в первой строке количество чисел N (1 N 100000). Каждая из следующих N строк содержит натуральное число, не превышающее 1000.
Пример входного файла:
7
7
5
6
12
5
14
2
Для указанных входных данных количество подходящих пар должно быть равно 9.
В ответе запишите два числа через пробел: сначала искомое количество для файла A, затем для файла B.
#переборный алгоритм: f = open(’1_A.txt’) n = int(f.readline()) counter = 0 a = [] for i in range(n): a += [int(f.readline())] for i in range(0,len(a) - 1): for j in range(i+1,len(a)): if (a[i]*a[j]) % 14 == 0: counter += 1 print(counter)
#эффективный алгоритм: f = open(’1_B.txt’) n = int(f.readline()) counter = 0 prop = [0] * 4 a = int(f.readline()) for i in range(n - 1): prop[0] += 1 prop[1] += int(a % 2 == 0) prop[2] += int(a % 7 == 0) prop[3] += int(a % 14 == 0) y = int(f.readline()) a = y if y % 14 == 0: counter += prop[0] elif y % 7 == 0: counter += prop[1] elif y % 2 == 0: counter += prop[2] else: counter += prop[3] print(counter)
Ошибка.
Попробуйте повторить позже
Имеется набор данных, состоящий из положительных целых чисел. Необходимо определить максимальное произведение R двух элементов такое, что R не кратно 15.
Входные данные: Даны два входных файла: файл A и файл B , каждый из которых содержит в первой строке количество чисел N (1 N 100000). Каждая из следующих N строк содержит натуральное число, не превышающее 1000.
Пример входного файла:
7
9
5
6
13
5
15
3
Для указанных чисел максимальное произведение двух элементов, не кратное 15, равно 117.
В ответе укажите два числа без разделительных знаков: сначала максимальное произведение для файла А, затем для файла B.
#переборный алгоритм: f = open(’4_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]) % 15 != 0: maxi = max(maxi, a[i]*a[j]) print(maxi
#эффективный алгоритм: f = open(’4_B.txt’) n = int(f.readline()) del3 = [0, 0] del5 = [0, 0] notdel35 = [0, 0] maxi = [] for i in range(n): a = int(f.readline()) if a % 15 != 0: if a % 3 == 0 and a % 5 != 0: if a >= del3[1]: del3[0] = del3[1] del3[1] = a elif a >= del3[0]: del3[0] = a elif a % 3 != 0 and a % 5 == 0: if a >= del5[1]: del5[0] = del5[1] del5[1] = a elif a >= del5[0]: del5[0] = a else: if a >= notdel35[1]: notdel35[0] = notdel35[1] notdel35[1] = a elif a >= notdel35[0]: notdel35[0] = a maxi.append(notdel35[0]*notdel35[1]) maxi.append(del3[0]*del3[1]) maxi.append(del5[0]*del5[1]) maxi.append(notdel35[1]*del3[1]) maxi.append(notdel35[1]*del5[1]) print(max(maxi))
Ошибка.
Попробуйте повторить позже
Имеется набор данных, состоящий из положительных целых чисел. Необходимо определить максимальное произведение R двух элементов такое, что R кратно 6.
Входные данные: Даны два входных файла: файл A и файл B , каждый из которых содержит в первой строке количество чисел N (1 N 100000). Каждая из следующих N строк содержит натуральное число, не превышающее 1000.
Пример входного файла:
7
9
5
6
12
5
13
3
Для указанных чисел максимальное произведение двух элементов, кратное 6, 156.
В ответе укажите два числа без разделительных знаков: сначала максимальное произведение для файла А, затем, для файла B.
#переборный алгоритм: f = open(’2_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]) % 6 == 0: maxi = max(maxi, a[i]*a[j]) print(maxi)
#эффективный алгоритм: f = open(’2_B.txt’) n = int(f.readline()) x = [] ost0 = [] ost2 = 0 ost3 = 0 maxi = [] for i in range(n): a = int(f.readline()) x.append(a) if a % 6 == 0: ost0.append(a) else: if a % 2 == 0: ost2 = max(ost2,a) if a % 3 == 0: ost3 = max(ost3,a) x = sorted(x) if ost0 != []: if max(ost0) == max(x): maxi.append(max(ost0)*x[-2]) else: maxi.append(max(ost0)*x[-1]) if ost2 != 0 and ost3 != 0: maxi.append(ost2*ost3) print(max(maxi))
Ошибка.
Попробуйте повторить позже
На вход программы поступает последовательность из N целых положительных чисел. Рассматриваются все пары различных элементов последовательности. Необходимо определить количество пар чисел, произведение которых кратно 19.
В ответе укажите два числа: значение для файла А, затем, через пробел, для файла Б. Так же можно указать ответ ТОЛЬКО для файла А.
Примечание. Для файла B необходимо заменить первую строку кода.
f = open("27A_8.txt") n = int(f.readline()) k=0 k19=0 for i in range(n): x=int(f.readline()) if x%19==0: k19+=1 else: k+=1 print(k19*(k19-1)//2+k19*k)
- 390
- 390 5235009
Ошибка.
Попробуйте повторить позже
На вход программы поступает последовательность из N целых положительных чисел. Рассматриваются все пары различных элементов последовательности (элементы пары не обязаны стоять в последовательности рядом, порядок элементов в паре неважен). Необходимо определить количество пар, для которых произведение элементов кратно 74.
В ответе запишите два числа через пробел: сначала искомое количество для файла A, затем для файла B.
Примечание. Для файла B необходимо заменить первую строку кода.
f = open("27A_3.txt") s = f.readlines() n = int(s[0]) k = 0 k_0 = 0 k_74 = 0 k_2 = 0 k_37 = 0 for i in range(1, n + 1): s[i] = int(s[i]) if s[i] % 74 == 0: k_74 += 1 elif s[i] % 37 == 0: k_37 += 1 elif s[i] % 2 == 0: k_2 += 1 else: k_0 += 1 k = k_74 * k_0 + k_37 * k_2 + k_74 * k_37 + k_74 * k_2 + (k_74 * (k_74 - 1)) // 2 print(k)
Ошибка.
Попробуйте повторить позже
На вход программы поступает последовательность из целых положительных чисел. Рассматриваются все пары различных элементов последовательности. Необходимо определить количество пар, для которых произведение элементов делится на 29.
Входные данные Даны два входных файла: A и B, каждый из которых содержит в первой строке количество чисел N (5 < N < 100000). Каждая из следующих N строк содержит одно натуральное число, не превышающее 10000.
Пример входных данных:
7
29
2
5
6
4
1
58
Для указанных входных данных программа должна вывести число 5.
В ответе укажите два числа через пробел: сначала количество соответствующих условию пар для файла A затем для файла B.
Предупреждение: для обработки файла В не следует использовать переборный алгоритм, определяющий количество всех возможных пар, поскольку написанная по такому алгоритму программа будет выполняться слишком долго.
f = open(’27B.txt’) #для ответа на A нужно подключить файл 27A.txt n = int(f.readline()) counter = 0 k29 = 0 nk = 0 for i in range(n): y = int(f.readline()) if y % 29 == 0: counter += (k29 + nk) k29 += 1 else: counter += k29 nk += 1 print(counter) # так же можно ответ вычислять не динамически, а статически (в таком случае строки 9 и 12 не нужны) print(k29*(k29-1)/2 + k29*nk)
Ошибка.
Попробуйте повторить позже
На вход программы поступает последовательность из N целых положительных чисел, необходимо определить количество пар двух элементов последовательности с различными номерами, произведение которых даёт число кратное 26.
Входные данные: Дан входной файл, который содержит в первой строке количество чисел N (1 N 100000). В каждой из последующих N строк записано одно натуральное число, не превышающее 1000.
В ответе укажите два числа через пробел: сначала значение для файла А, затем для файла B.
Для А
s = open(’27-15a.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]) % 26 == 0: cnt += 1 print(cnt)
Для Б
s = open(’27-15b.txt’, ’r’).readlines()[1:] arr = [] for i in range(len(s)): arr.append(int(s[i])) n = len(arr) n26, n13, n2 =0, 0, 0 for i in range(n): a = arr[i] if a % 26 == 0: n26 += 1 elif a % 13 == 0: n13 += 1 elif a % 2 == 0: n2 += 1 k26 = n26 * (n26 - 1) // 2 + n26 * (n - n26) + n2 * n13 print(k26)
Ошибка.
Попробуйте повторить позже
На вход программы поступает последовательность из N целых положительных чисел, необходимо определить количество пар двух элементов последовательности с различными номерами, произведение которых даёт число кратное 22.
Входные данные: Дан входной файл, который содержит в первой строке количество чисел N (1 N 100000). В каждой из последующих N строк записано одно натуральное число, не превышающее 1000.
В ответе укажите два числа через пробел: сначала значение для файла А, затем для файла B.
Для А
s = open(’27-14a.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]) % 22 == 0: cnt += 1 print(cnt)
Для Б
s = open(’27-14b.txt’, ’r’).readlines()[1:] arr = [] for i in range(len(s)): arr.append(int(s[i])) n = len(arr) n22, n11, n2 = 0, 0, 0 for i in range(n): a = arr[i] if a % 22 == 0: n22 += 1 elif a % 11 == 0: n11 += 1 elif a % 2 == 0: n2 += 1 k22 = n22 * (n22 - 1) // 2 + n22 * (n - n22) + n2 * n11 print(k22)
Ошибка.
Попробуйте повторить позже
На вход программы поступает последовательность из N целых положительных чисел, необходимо определить количество пар двух элементов последовательности с различными номерами, произведение которых даёт число кратное 18.
Входные данные: Дан входной файл, который содержит в первой строке количество чисел N (1 N 100000). В каждой из последующих N строк записано одно натуральное число, не превышающее 1000.
Пример организации исходных данных во входном файле:
4
2
8
9
27
Пример выходных данных для приведённого выше примера входных данных: 4 (это пары: 2,9; 2,27; 8,9; 8,27)
В ответе укажите два числа через пробел: сначала значение для файла А, затем для файла B.
Для А
s = open(’27-8a.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]) % 18 == 0: cnt += 1 print(cnt)
Для Б статика
f = open(’1.txt’) n = int(f.readline()) ans = 0 k18 = 0 k9 = 0 k6 = 0 k3 = 0 k2 = 0 nk = 0 for i in range(n): x = int(f.readline()) if x % 18 == 0: ans += (k18 + nk + k9 + k6 + k3 + k2) k18 += 1 elif x % 9 == 0: ans += (k18 + k2 + k6) k9 += 1 elif x % 6 == 0: ans += (k18 + k3 + k9 + k6) k6 += 1 elif x % 3 == 0: ans += (k18 + k6) k3 += 1 elif x % 2 == 0: ans += (k18 + k9) k2 += 1 else: ans += k18 nk += 1 print(ans)
Для Б динаминка
with open(’27-8b.txt’) as f: n = int(f.readline()) count = 0 D = 18 # наш делитель k = [0]*D#массив,в котором каждый элемент- это количество чисел с определенном остатком от D for i in range(n): x = int(f.readline()) for d in range(D):# проходимся по нашим остаткам if (x*d) % 18 == 0: count += k[d]#прибавляем к счетчику значение в списке k под индексом остатка k[x % D] += 1# увеличиваем определенное значение в списке,в зависимости от того,чему равен остаток x от D print(count)
Ошибка.
Попробуйте повторить позже
Последовательность натуральных чисел характеризуется числом M — наибольшим числом, кратным 7 и являющимся произведением двух элементов последовательности с различными номерами. Гарантируется, что хотя бы одно такое произведение в последовательности есть.
Входные данные: Дан входной файл, который содержит в первой строке количество чисел N (1 N 100000). В каждой из последующих N строк записано одно натуральное число, не превышающее 1000.
Пример организации исходных данных во входном файле:
5
49
295
797
482
96
Пример выходных данных для приведённого выше примера входных данных: 39053
В ответе укажите два числа: значение для файла А, затем, через пробел, для файла Б. Так же можно указать ответ ТОЛЬКО для файла А.
Для А
s = open(’27-7a.txt’, ’r’).readlines()[1:] arr = [] for i in range(len(s)): arr.append(int(s[i])) n = len(arr) mx = -1 for i in range(n - 1): for j in range(i + 1, n): if (arr[i]*arr[j]) % 7 == 0: mx = max(mx, arr[i]*arr[j]) print(mx)
Для Б
s = open(’27-7b.txt’, ’r’).readlines()[1:] arr = [] for i in range(len(s)): arr.append(int(s[i])) n = len(arr) mx_kr7, m2_kr7, mx = 0, 0, 0 for i in range(n): a = arr[i] if a % 7 == 0 and a > mx_kr7: m2_kr7 = mx_kr7 mx_kr7 = a elif a % 7 == 0 and a > m2_kr7: m2_kr7 = a elif a > mx: mx = a res = max(mx_kr7*m2_kr7, mx_kr7*mx) print(res)
- 863660
- 863660 994000
Ошибка.
Попробуйте повторить позже
По каналу связи передавались данные в виде последовательности положительных целых чисел. Количество чисел заранее неизвестно, но не менее двух, признаком конца данных считается число 0. Контрольное значение равно такому максимально возможному произведению двух чисел из переданного набора, которое делится на 7, но не делится на 49. Если такое произведение получить нельзя, контрольное значение считается равным 1.
Программа должна напечатать одно число — вычисленное контрольное значение, соответствующую условиям задачи.
Даны два входных файла (файл A и файл B), каждый из которых содержит N строк. В каждой из N строк записано одно натуральное число, не превышающее 1000. Пример организации исходных данных во входном файле:
6
7
8
9
0 Пример выходных данных для приведённого выше примера входных данных: 63
В ответе укажите два числа через пробел: сначала значение искомого произведения для файла A, затем для файла B.
Решение 27А:
# Открываем файл с именем ’27_A__1va5i.txt’ with open(’27_A__1va5i.txt’) as f: # Читаем каждую строку файла и преобразуем ее в целое число, # добавляя результат в список ’data’ data = [int(x) for x in f] # Изначально устанавливаем максимальное произведение равным 1 max_product = 1 # Проходим через каждый элемент в списке ’data’ (кроме последнего) for i in range(len(data) - 1): # Сравниваем элемент ’data[i]’ со всеми последующими элементами в списке for j in range(i + 1, len(data)): # Вычисляем произведение двух чисел p = data[i] * data[j] # Проверяем, что произведение делится на 7 (остаток от деления на 49 равен одному из чисел [7, 14, 21, 28, 35, 42]), # но не на 49 (то есть не равно ни одному из чисел [7, 14, 21, 28, 35, 42] при делении на 49) if p % 49 in [7, 14, 21, 28, 35, 42]: # Если это так, обновляем максимальное произведение max_product = max(max_product, p) # Выводим максимальное произведение на экран print(max_product)
Решение 27B:
Решение в статике:
f = open(’8prob/27B.txt’) a = [int(i) for i in f] # Считали все числа # Если произведение двух чисел делится на 7, но не делится на 49, это значит, что ровно одно из чисел делится на 7 # Соответственно, будем искать максимальное число, кратное 7, и максимальное число, не кратное 7, # это и будет искомым контрольным значением m7 = 0 # Максимальное число, кратное 7 m = 0 # Максимальное число, не кратное 7 for x in a: # Перебираем все числа из последовательности # Ищем m7 и m if x % 7 == 0 and x % 49 != 0: m7 = max(m7, x) if x % 7 != 0 and x % 49 != 0: m = max(m, x) print(m * m7)
Решение в динамике:
# Имя входного файла input_file = ’27_B__1va5j.txt’ # Инициализируем максимальное произведение как 0 max_product = 0 # Константа, связанная с модульной арифметикой modulus = 7 * 49 # Инициализация списка для хранения максимальных значений по модулю max_mod_values = [0] * modulus # Открываем файл для чтения данных with open(input_file) as file: # Проходим по всем строкам в файле for line in file: # Преобразуем строку в число number = int(line) # Проверяем все возможные модули for mod_value in range(modulus): # Проверяем условие: mod_value - индекс, умножаемый на текущее число if (number * mod_value) % 7 == 0 and (number * mod_value) % 49 != 0: # Если произведение больше текущего максимального произведения, обновляем его if number * max_mod_values[mod_value] > max_product: max_product = max(max_product, number * max_mod_values[mod_value]) # Обновляем максимальное значение для данного остатка max_mod_values[number % modulus] = max(number, max_mod_values[number % modulus]) # Выводим максимальное произведение print(max_product)
Ошибка.
Попробуйте повторить позже
Определите число, которое является произведением двух элементов последовательности (элементы с различными номерами), а также наибольшим кратным 34. Гарантируется, что хотя бы одно такое произведение в последовательности есть.
Пример входного файла:
Даны два входных файла (файл A и файл B), каждый из которых содержит в первой строке количество чисел N . В каждой из последующих N строк записано одно натуральное число, не превышающее 1000.
7
124
1000
3
170
167
954
256
Пример выходных данных для приведённого выше примера входных данных: 170000
В ответе укажите два числа через пробел: сначала значение искомого произведения для файла А, затем для файла B.
27A: f = open(’C:/27_A.txt’) n = int(f.readline()) a = [int(i) for i in f] mx = 0 for i in range(n): for j in range(i+1, n): if a[i]*a[j] % 34 == 0: mx = max(mx, a[i]*a[j]) print(mx) 27B: f = open(’C:/27_B.txt’) n = int(f.readline()) a = [int(i) for i in f] mx = max(a) mx2 = max(i for i in a if i % 2 == 0) mx17 = max(i for i in a if i % 17 == 0) mx34 = max(i for i in a if i % 34 == 0) mxp = 0 if mx != mx34 or a.count(mx) > 1: if mx*mx34 % 34 == 0: mxp = max(mxp, mx*mx34) if mx2 != mx17 or a.count(mx) > 1: if mx2*mx17 % 34 == 0: mxp = max(mxp, mx2*mx17) if mx2 != mx34 or a.count(mx) > 1: if mx2*mx34 % 34 == 0: mxp = max(mxp, mx2*mx34) print(mxp)