инф. 17 задание. Aint(x) for x in open('17 txt')
Скачать 1.05 Mb.
|
17 задание Определите и запишите в ответе сначала количество троек элементов последовательности, в которых хотя бы одно число кратно 12, а каждое число делится на 3, затем минимальное из средних арифметических элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности. a=[int(x) for x in open('17-1.txt')] w=[] for i in range(len(a)-2): if a[i]%12==0 or a[i+1]%12==0 or a[i+2]%12==0: if a[i]%3==0 and a[i+1]%3==0 and a[i+2]%3==0: w.append((a[i]+a[i+1]+a[i+2])//3) среднее арифметич трех чисел print(len(w),min(w)) Определите количество троек, в которых хотя бы два из трёх элементов больше, чем среднее арифметическое всех чисел в файле. В ответе запишите два числа: сначала количество найденных троек, а затем – максимальную сумму элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности. a=[int(x) for x in open('be.txt')] e=sum(a)/len(a) w=[] for i in range(len(a)-2): if (a[i]>e)+(a[i+1]>e)+(a[i+2]>e)>=2: w.append(a[i]+a[i+1]+a[i+2]) print(len(w),max(w)) Определите количество пар, в которых хотя бы один из двух элементов меньше, чем среднее арифметическое всех чисел в файле, и восьмеричные записи обоих элементов не содержат цифру 3. В ответе запишите два числа: сначала количество найденных пар, а затем – минимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности. a=[int(x) for x in open('17-d2.txt')] w=[] k=sum(a)/len(a) for i in range(len(a)-1): if (a[i] print(len(w),min(w)) Определите количество троек, в которых все три элемента меньше, чем размах ряда всех чисел в файле, и десятичная запись хотя бы двух элементов тройки содержит цифру 2. В ответе запишите два числа: сначала количество найденных троек, а затем – максимальную сумму элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности. a=[int(x) for x in open('17-d3.txt')] w=[] rasmax=max(a)-min(a) for i in range(len(a)-2): if all(x< rasmax for x in (a[i:i+3])): if sum('2' in str(x) for x in (a[i:i+3]))>=2: w.append(a[i]+a[i+1]+a[i+2]) print(len(w),max(w)) Посчитайте количество и сумму чисел, находящихся в промежутке [1905, 9868], которые делятся на 3 и не делятся на 23. Запишите в ответе сначала количество, затем сумму. a=[x for x in range(1905,9869) if x%3==0 and x%23!=0] print(len(a),sum(a)) |