17 - Обработка целочисленных данных. Проверка делимости
Источники:
сайт Полякова (https://kpolyakov.spb.ru/)
демонстрационная версия станции КЕГЭ (https://kompege.ru/)
Источники:
сайт Полякова (https://kpolyakov.spb.ru/)
демонстрационная версия станции КЕГЭ (https://kompege.ru/)
1) Рассматривается множество целых чисел, принадлежащих числовому отрезку [1111; 9999], которые кратны одновременно сумме и произведению своих цифр. Найдите количество таких чисел и максимальное из них. В ответе запишите два целых числа: сначала количество, затем – максимальное число.
Решение
k=0
max=0
for i in range(1111,9999+1):
s=0
p=1
x=i
while x>0 and p !=0:
c=x % 10
s+=c
p*=c
x//=10
if p!=0 and i % s ==0 and i % p ==0:
k+=1
ma=i
print(k,ma)
Ответ: 19 9612
2) Рассматривается множество целых чисел, принадлежащих числовому отрезку [9999; 99999], которые кратны сумме своих цифр. Найдите количество таких чисел и максимальное из них. В ответе запишите два целых числа: сначала количество, затем – максимальное число.
Решение
k=0
for i in range(9999,99999+1):
s=0
x=i
for c in str(i): s+=int(c)
if i % s ==0:
k+=1
ma=i
print(k,ma)
Ответ: 10334 99972
3) Рассматривается множество целых чисел, принадлежащих отрезку [1390; 12567], которые делятся на 3 или на 5 и не делятся на 7, 11, 13 и 23. Найдите количество таких чисел и максимальное из них. В ответе запишите два числа через пробел: сначала количество, затем максимальное число.
Решение
k=0
for i in range(1390,12567+1):
if (i % 3)*(i%5) ==0 and (i % 7)*(i % 11)*(i % 13)*(i%23)!=0:
k+=1
ma=i
print(k,ma)
Ответ: 3590 12567
4) Рассматривается множество целых чисел, принадлежащих отрезку [3542; 15876], которые делятся на 2 или на 9 и не делятся на 11, 13, 17 и 23. Найдите количество таких чисел и максимальное из них. В ответе запишите два числа через пробел: сначала количество, затем максимальное число.
Решение
k=0
for i in range(3542,15876+1):
if (i % 2)*(i%9) ==0 and (i % 11)*(i % 13)*(i % 17)*(i%23)!=0:
k+=1
ma=i
print(k,ma)
Ответ: 5178 15876
5) Рассматривается множество целых чисел, принадлежащих отрезку [1098; 13765], которые делятся на 2 и не делятся на 7, 11, 13 и 23. Найдите количество таких чисел и минимальное из них. В ответе запишите два числа через пробел: сначала количество, затем минимальное число.
Решение
k=0
mi=0
for i in range(1098,13765+1):
if i % 2 ==0 and (i % 7)*(i % 11)*(i % 13)*(i%23)!=0:
k+=1
if mi==0: mi=i
print(k,mi)
Ответ: 4358 1098
6) Рассматривается множество целых чисел, принадлежащих отрезку [1325; 15367], которые делятся на 13 и не делятся на 7, 17, 19 и 23. Найдите количество таких чисел и минимальное из них. В ответе запишите два числа через пробел: сначала количество, затем минимальное число.
Решение
k=0
mi=0
for i in range(1325,15367+1):
if i % 13 ==0 and (i % 7)*(i % 17)*(i % 19)*(i%23)!=0:
k+=1
if mi==0: mi=i
print(k,mi)
Ответ: 791 1339
7) Рассматривается множество целых чисел, принадлежащих числовому отрезку [2095; 19402], которые являются простыми числами и у которых первая цифра больше последней. Найдите количество таких чисел и наибольшее такое число, которое оканчивается на 21. В ответе запишите два целых числа: сначала количество, затем наибольшее такое число, которое оканчивается на 21.
Решение
k=0
for i in range(2095,19402+1):
f=1
for d in range(2,int(i**0.5)+1):
if i%d==0: f=0;break
if f>0 and str(i)[0]>str(i)[-1] :
k+=1
if i %100==21: ma=i
print(k,ma)
Ответ: 455 9721
8) Рассматривается множество целых чисел, принадлежащих числовому отрезку [1082; 129932], в которых цифры записаны в порядке убывания при их прочтении слева направо, и при этом количество делителей каждого из этих чисел кратно трём. Найдите количество таких чисел и наибольшее такое число, начинающееся с цифры 7. В ответе запишите два целых числа: сначала количество, затем наибольшее такое число, начинающееся с цифры 7.
Решение
k=0
for i in range(1082,129932+1):
x=i
c=str(i)[0]
f=1
for s in str(i)[1:]:
if c>s: c=s
else: f=0;break
if f==1:
kd=0
for d in range(1,int(i**0.5)+1):
if i%d==0:kd+=1
kd*=2
if (i**0.5)==int(i**0.5):kd-=1
if kd%3==0:
k+=1
x=i
while x>9: x//=10
if x==7: ma=i
print(k,ma)
Ответ: 121 76540
9) Рассматривается множество целых чисел, принадлежащих числовому отрезку [2020; 647038], у которых сумма цифр меньше 10, и при этом наименьшая цифра не встречается среди первых трёх цифр. Найдите количество таких чисел и такое число, наиболее близкое к среднему арифметическому значению этих чисел. В ответе запишите два целых числа: сначала количество, затем такое число, наиболее близкое к среднему арифметическому значению этих чисел.
Решение
b=[]
for i in range(2020,647038+1):
mi='9'
s=0
x=str(i)
for c in x:
s+=int(c)
if c<mi: mi=c
if s<10:
if x[:3].find(mi)==-1:
b.append(i)
ss=sum(b)/len(b)
p=999999
for i in range(len(b)):
if abs(b[i]-ss)< p:
p= abs(b[i]-ss)
st=b[i]
print(len(b),st)
Ответ: 1248 151000
10) Рассматривается множество целых чисел, принадлежащих числовому отрезку [1007,746001], в которых первая цифра – наибольшая из всех цифр, и при этом они имеют четное количество цифр 5 (не менее 2-х). Найдите количество таких чисел и наибольшее такое число, начинающееся с 50. В ответе запишите два целых числа: сначала количество, затем наибольшее такое число, начинающееся с 50.
Решение
k=0
ma=0
for i in range(1007,746001+1):
x=str(i)
k5=x.count('5')
if max(x)==x[0] and k5>0 and k5%2==0:
k+=1
if x[:2]=='50': ma=i
print(k,ma)
Ответ: 9069 505554
11) Рассматривается множество целых чисел, принадлежащих числовому отрезку [138;603884], которые имеют повторяющиеся цифры, и при этом являются степенью числа 3. Найдите количество таких чисел и наименьшее такое число, имеющее наибольшую сумму цифр. В ответе запишите два целых числа: сначала количество, затем наименьшее такое число, имеющее наибольшую сумму цифр.
Решение
k=0
mi=0
maxs=0
p=3
while p<=603884:
if p>=138:
m=[0]*10
s=0
for x in str(p):
c=int(x)
m[c]+=1
s+=c
dubl=1
for i in range(10):
if m[i]>0:
dubl*=m[i]
if dubl>1:
k+=1
if s>maxs:
maxs=s
mi=p
p*=3
print(k,mi)
Ответ: 4 59049
12) Рассматривается множество целых чисел, принадлежащих числовому отрезку [5903; 174203], которые имеют все различные цифры, и при этом имеют в своей записи ровно три цифры большие 4. Найдите количество таких чисел и такое число наиболее близкое к 30000. В ответе запишите два целых числа: сначала количество, затем такое число наиболее близкое к 30000.
Решение
k=0
pog=30000
a=0
for i in range(5903,174203+1):
m=[0]*10
k4=0
for c in str(i):
m[int(c)]+=1
if int(c)>4: k4+=1
dubl=1
for j in range(10) :
if m[j]>0: dubl*=m[j]
if dubl==1 and k4==3:
k+=1
if abs(30000-i)<pog:
pog=abs(30000-i)
a=i
print(k,a)
Ответ: 16734 29874
13) Рассматривается множество целых чисел, принадлежащих числовому отрезку [1005; 147870], которые не имеют в своей записи цифру 1, и у которых разность между максимальной и минимальной цифрой меньше четырёх. Найдите количество таких чисел и двадцать пятое по порядку такое число, если считать эти числа в порядке от наибольшего к наименьшему. В ответе запишите два целых числа: сначала количество, затем двадцать пятое по порядку такое число, если считать эти числа от наибольшего к наименьшему.
Решение
k=0
a25=0
for i in range(147870,1005-1,-1):
s=str(i)
k1=s.count('1')
if int(max(s))-int(min(s))<4 and k1==0:
k+=1
if a25<24:
a25+=1
else:
if a25==24: a25=i
print(k,a25)
Ответ: 5272 99879
14) Рассматривается множество целых чисел, принадлежащих числовому отрезку [2848; 109499], которые имеют в своей записи цифру 9, и у которых сумма цифр больших 5 – кратна трём. Найдите количество таких чисел и наибольшее такое число, начинающееся на 8. В ответе запишите два целых числа: сначала количество, затем наибольшее такое число, начинающееся на 8.
Решение
k=0
for i in range(2848,109499+1):
f9=0
s=0
for c in str(i):
if c=='9': f9=1
if c>'5': s+=int(c)
if s%3 == 0 and f9==1:
k+=1
if str(i)[0]=='8': ma=i
print(k,ma)
Ответ: 20865 89997
15) Рассматривается множество целых чисел, принадлежащих числовому отрезку [1031; 125888], которые не оканчиваются цифрой 5 и являются полными квадратами. Найдите количество таких чисел и наименьшее такое число, оканчивающееся на 36. В ответе запишите два целых числа: сначала количество, затем наименьшее такое число, оканчивающееся на 36.
Решение
k=0
a=1
mi=0
while a**2<=125888:
x=a*a
if x>=1031:
if x%10!=5:
k+=1
if x%100==36 and mi==0:
mi=x
a+=1
print(k,mi)
Ответ: 290 1936
16)(№4269 В.Шубинкин) В файле 17-1.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых хотя бы одно число делится на 7, а другое при этом не делится на 17. Затем - минимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности. Например, для последовательности -45; 14; 22; -21; 34 ответом будет пара чисел: 3 и -31.
Решение
m=[]
for i in open('17-1.txt').readlines(): m.append(int(i))
k=0
mins=20000
for i in range(len(m)-1):
if m[i]%7==0 and m[i+1]%17!=0 or m[i+1]%7==0 and m[i]%17!=0:
k+=1
mins=min(mins,m[i]+m[i+1])
print(k,mins)
Ответ: 2510 -19677
17)(№4274 В.Шубинкин) В файле 17-1.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество локальных минимумов в этой последовательности, затем максимальный среди этих элементов. Под локальным минимумом подразумевается элемент последовательности, меньший двух соседних элементов. Гарантируется наличие хотя бы двух локальных минимумов. Например, в последовательности 10; 4; 7; -2; -10; 12; 3 два локальных минимума (4 и -10), поэтому правильным ответом для данного примера будет пара чисел 2 и 4.
Решение
m=[]
for i in open('17-1.txt').readlines(): m.append(int(i))
k=0
maxs=-10000
for i in range(1,len(m)-1):
if m[i-1] > m[i] < m[i+1]:
k+=1
maxs=max(maxs,m[i])
print(k,maxs)
Ответ: 3316 8125
18)(№4300 А.Кабанов) В файле 17-3.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, сумма которых кратна 3 и не кратна 6, а произведение оканчивается на 8, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m=[]
for i in open('17-3.txt').readlines(): m.append(int(i))
k=0
maxs=-20000
for i in range(len(m)-1):
s=m[i]+m[i+1]
if s%3==0 and s%6 !=0 and str(m[i]*m[i+1])[-1]=='8':
k+=1
maxs=max(maxs,s)
print(k,maxs)
Ответ: 140 17031
19)(№4301 А.Кабанов) В файле 17-3.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, произведение которых положительно, а сумма кратна 7, затем минимальное из произведений элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m=[]
for i in open('17-3.txt').readlines(): m.append(int(i))
k=0
minp=10000**2
for i in range(len(m)-1):
if m[i]*m[i+1]>0 and (m[i]+m[i+1])%7 ==0:
k+=1
minp=min(minp,m[i]*m[i+1])
print(k,minp)
Ответ: 359 115022
20)(№4310 А.Кабанов) В файле 17-4.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Рассматривается множество элементов последовательности, которые делятся на 3 и не делятся на 7, 17, 19, 27. Найдите количество таких чисел и максимальное из них.
Решение
m=[]
for i in open('17-4.txt').readlines(): m.append(int(i))
k=0
maxc=0
for i in range(len(m)):
p=1
for d in (7,17,19,27): p*=m[i]%d
if m[i]%3==0 and p:
k+=1
maxc=max(maxc,m[i])
print(k,maxc)
Ответ: 445 9738
21)(№4311 А.Кабанов) В файле 17-4.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Рассматривается множество элементов последовательности, которые удовлетворяют следующим условиям:
− остаток от деления на 13 равен 4;
− остаток от деления на 8 равен 1.
Найдите наибольшее из таких чисел и их сумму. Гарантируется, что искомая сумма не превосходит 107.
Решение
m=[]
for i in open('17-4.txt').readlines(): m.append(int(i))
s=0
maxc=0
for i in range(len(m)):
if m[i]%13==4 and m[i]%8==1:
s+=m[i]
maxc=max(maxc,m[i])
print(maxc,s)
Ответ: 8649 97979
22)(№4318 А.Кабанов) В файле 17-4.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Рассматривается множество элементов последовательности, которые удовлетворяют следующим условиям:
− в числе есть хотя бы два нуля;
− число кратно 7.
Найдите наибольшее из таких чисел и их количество.
Решение
m=[]
for i in open('17-4.txt').readlines(): m.append(int(i))
k=0
maxc=0
for i in range(len(m)):
if str(m[i]).count('0')>1 and m[i]%7==0:
k+=1
maxc=max(maxc,m[i])
print(maxc,k)
Ответ: 9009 10
23)(№4320 А.Кабанов) В файле 17-4.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Рассматривается множество элементов последовательности, которые оканчиваются либо на 2, либо на 7 и делятся на 3, 11. Найдите количество таких чисел и минимальное из них.
Решение
m=[]
for i in open('17-4.txt').readlines(): m.append(int(i))
k=0
minc=10000
for i in range(len(m)):
if str(m[i])[-1] in '27' and m[i]%33==0:
k+=1
minc=min(minc,m[i])
print(k,minc)
Ответ: 13 1287
24)(№ 4351 П.Волгин) В файле 17-5.txt содержится последовательность целых чисел. Элементы последовательности могут принимать значения от –100 до 100 включительно. Определите сначала количество пар элементов последовательности, в которых хотя бы одно число четное, а затем максимальную из сумм элементов таких пар. Под парой подразумевается два идущих подряд элемента последовательности. Например, для последовательности из 5 элементов: 6, 2, 7, 11, 8 ответ должен быть: 3 19.
Решение
m=[]
for i in open('17-5.txt').readlines(): m.append(int(i))
k=0
maxs=-200
for i in range(len(m)-1):
if (m[i]*m[i+1])%2==0:
k+=1
maxs=max(maxs,m[i]+m[i+1])
print(k,maxs)
Ответ: 38 163
25)(№4355 П.Волгин) В файле 17-7.txt содержится последовательность целых чисел. Элементы последовательности могут принимать значения от 0 до 200 включительно. Определите сначала количество троек элементов последовательности, в которых хотя бы 2 числа из тройки в шестнадцатеричной системе счисления в нулевом разряде имеют 0, а затем сумму максимальных чисел из таких троек. Под тройкой подразумевается три идущих подряд элемента последовательности.
Решение
m=[]
for i in open('17-7.txt').readlines(): m.append(int(i))
k=0
maxs=0
for i in range(len(m)-2):
if (hex(m[i])[-1]+hex(m[i+1])[-1]+hex(m[i+2])[-1]).count('0')>1:
k+=1
maxs+=max(m[i],m[i+1],m[i+2])
print(k,maxs)
Ответ: 8 1060
26)(№4360 П.Волгин) В файле 17-8.txt содержится последовательность целых чисел. Элементы последовательности могут принимать значения от 0 до 1000 включительно. Определите сначала количество пар элементов последовательности, в которых сумма цифр хотя бы одного из чисел в двоичной записи больше 5 и нечетна, а затем максимальную из сумм элементов таких пар. Под парой подразумевается два идущих подряд элемента последовательности.
Решение
m=[]
for i in open('17-8.txt').readlines(): m.append(int(i))
k=0
maxs=0
for i in range(len(m)-1):
if bin(m[i]).count('1') in (7,9) or bin(m[i+1]).count('1') in (7,9):
k+=1
maxs=max(maxs,m[i]+m[i+1])
print(k,maxs)
Ответ: 25 1773
27)(№4362 П.Волгин) В файле 17-9.txt содержится последовательность целых чисел. Элементы последовательности могут принимать значения от 0 до 1100 включительно. Определите сначала количество троек элементов последовательности, в которых хотя бы два числа в двоичной системе счисления имеют не менее 3 единиц и эти же два числа в двоичной системе счисления имеют как минимум один ноль, а затем максимальное число среди максимальных чисел в подходящих тройках. Под тройкой подразумевается три идущих подряд элемента последовательности.
Решение
m=[]
for i in open('17-9.txt').readlines(): m.append(int(i))
k=0
maxs=0
for i in range(len(m)-2):
s1,s2,s3=0,0,0
if bin(m[i]).count('1') > 2 and bin(m[i])[2:].count('0')>0:s1=1
if bin(m[i+1]).count('1') > 2 and bin(m[i+1])[2:].count('0')>0:s2=1
if bin(m[i+2]).count('1') > 2 and bin(m[i+2])[2:].count('0')>0:s3=1
if s1+s2+s3>=2:
k+=1
maxs=max(maxs,m[i],m[i+1],m[i+2])
print(k,maxs)
Ответ: 30 1027
28)(№4376 Л.Шастин) В файле 17-10.txt содержится последовательность целых чисел. Элементы последовательности могут принимать значения от 0 до 10000 включительно. Определите сначала количество троек элементов последовательности, из которых можно составить прямоугольный треугольник, а затем сумму всех гипотенуз треугольников в подходящих тройках. Под тройкой подразумевается три идущих подряд элемента последовательности.
Решение
m=[]
for i in open('17-10.txt').readlines(): m.append(int(i))
k=0
s=0
for i in range(len(m)-2):
c=max(m[i],m[i+1],m[i+2])
a=min(m[i],m[i+1],m[i+2])
b=sum(m[i:i+3])-a-c
if c**2==a**2+b**2:
k+=1
s+=c
print(k,s)
Ответ: 370 209813
29)(№ 44407 Л.Шастин) В файле 17-10.txt содержится последовательность целых чисел. Элементы последовательности могут принимать значения от 0 до 10000 включительно. Определите сначала количество пар, сумма элементов в которых трёхзначна, а цифра в разряде единиц этой суммы больше цифры в разряде десятков, а затем минимальную из сумм, удовлетворяющих описанному выше условию. Под парой чисел подразумевается два идущих подряд элемента последовательности.
Решение
m=[]
for i in open('17-10.txt').readlines(): m.append(int(i))
k=0
mins=20000
for i in range(len(m)-1):
s=str(m[i]+m[i+1])
if len(s)==3 and s[-1]>s[-2]:
k+=1
mins=min(mins,int(s))
print(k,mins)
Ответ: 227 169
30)(№ 4418 П.Финкель) В файле 17-199.txt содержится последовательность целых чисел, которые принимают значения от -10000 до 10000 включительно. Тройка идущих подряд чисел последовательности называется уникальной, если только второе из них является положительным двузначным чётным числом. Определите количество уникальных троек чисел, а затем – максимальную из всех сумм таких троек.
Решение
m=[]
for i in open('17-199.txt').readlines(): m.append(int(i))
k=0
maxs=-30000
for i in range(len(m)-2):
s1=m[i]>0 and len(str(m[i]))==2 and m[i]%2==0
s2=m[i+1]>0 and len(str(m[i+1]))==2 and m[i+1]%2==0
s3=m[i+2]>0 and len(str(m[i+2]))==2 and m[i+2]%2==0
if not(s1) and s2 and not(s3):
k+=1
maxs=max(maxs,m[i]+m[i+1]+m[i+2])
print(k,maxs)
Ответ: 7 12441
31)(№4421 П.Финкель) В файле 17-202.txt содержится последовательность целых чисел, которые принимают значения от -10000 до 10000 включительно. Тройка идущих подряд чисел последовательности называется уникальной, если только второе из них является положительным трёхзначным числом, заканчивающимся на 5. Определите количество уникальных троек чисел, а затем – максимальную из всех сумм таких троек.
Решение
m=[]
for i in open('17-202.txt').readlines(): m.append(int(i))
k=0
maxs=-30000
for i in range(len(m)-2):
s1=m[i]>0 and len(str(m[i]))==3 and str(m[i])[-1]=='5'
s2=m[i+1]>0 and len(str(m[i+1]))==3 and str(m[i+1])[-1]=='5'
s3=m[i+2]>0 and len(str(m[i+2]))==3 and str(m[i+2])[-1]=='5'
if not(s1) and s2 and not(s3):
k+=1
maxs=max(maxs,m[i]+m[i+1]+m[i+2])
print(k,maxs)
Ответ: 18 14769
32)(№4538) В файле 17-205.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество пар, в которых хотя бы один из двух элементов заканчивается на 7, а их сумма делится на 12. В ответе запишите два числа: сначала количество найденных пар, а затем – максимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m=[]
for i in open('17-205.txt').readlines(): m.append(int(i))
k=0
maxs=-20000
for i in range(len(m)-1):
if ('7' in str(m[i])[-1]+str(m[i+1])[-1]) and ((m[i]+m[i+1])%12==0):
k+=1
maxs=max(maxs,m[i]+m[i+1])
print(k,maxs)
Ответ: 71 17664
33)(№4655) В файле 17-1.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество пар, в которых хотя бы один из двух элементов больше, чем среднее арифметическое всех чисел в файле. В ответе запишите два числа: сначала количество найденных пар, а затем – максимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m=[]
for i in open('17-1.txt').readlines(): m.append(int(i))
k=0
sr=sum(m)/len(m)
maxs=-30000
for i in range(len(m)-1):
if m[i]>sr or m[i+1]>sr:
k+=1
maxs=max(maxs,m[i]+m[i+1])
print(k,maxs)
Ответ: 7515 19789
34)(№4658) В файле 17-1.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество пар, в которых оба элемента больше, чем среднее арифметическое всех чисел в файле, а их сумма оканчивается на 31. В ответе запишите два числа: сначала количество найденных пар, а затем – максимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m=[]
for i in open('17-1.txt').readlines(): m.append(int(i))
k=0
sr=sum(m)/len(m)
maxs=-30000
for i in range(len(m)-1):
if m[i]>sr and m[i+1]>sr and str(m[i]+m[i+1])[-2:]=='31':
k+=1
maxs=max(maxs,m[i]+m[i+1])
print(k,maxs)
Ответ: 21 17631
35)(№4663) В файле 17-4.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар, в которых оба элемента меньше, чем среднее арифметическое всех чисел в файле, и хотя бы один из двух элементов оканчивается на 19. В ответе запишите два числа: сначала количество найденных пар, а затем – максимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m=[]
for i in open('17-4.txt').readlines(): m.append(int(i))
k=0
sr=sum(m)/len(m)
maxs=0
for i in range(len(m)-1):
if m[i]<sr and m[i+1]<sr and (m[i]%100-19)*(m[i+1]%100-19)==0:
k+=1
maxs=max(maxs,m[i]+m[i+1])
print(k,maxs)
Ответ: 14 9500
36)(№4666) В файле 17-1.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество пар, в которых хотя бы один из двух элементов меньше, чем среднее арифметическое всех чисел в файле, и хотя бы один из двух элементов делится на 3 и не делится на 5, 11 и 19. В ответе запишите два числа: сначала количество найденных пар, а затем – максимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m=list(map(int,open('17-1.txt').readlines()))
sr=sum(m)/len(m)
m1=[]
for i in range(len(m)-1):
s1=min(m[i],m[i+1])<sr
s2=m[i]%3==0 and not(m[i]%5==0 or m[i]%11==0 or m[i]%19==0)
s3=m[i+1]%3==0 and not(m[i+1]%5==0 or m[i+1]%11==0 or m[i+1]%19==0)
if s1 and (s2 or s3): m1.append(m[i]+m[i+1])
print(len(m1), max(m1))
Ответ: 3052 9316
37)(№4677) В файле 17-1.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество троек, в которых хотя бы один из трёх элементов меньше, чем среднее арифметическое всех чисел в файле, и десятичная запись хотя бы одного из трёх элементов содержит цифру 8. В ответе запишите два числа: сначала количество найденных троек, а затем – максимальную сумму элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
Решение
m=[]
for i in open('17-1.txt').readlines(): m.append(int(i))
k=0
sr=sum(m)/len(m)
maxs=-30000
for i in range(len(m)-2):
s=str(m[i])+str(m[i+1])+str(m[i+2])
if (m[i]<sr or m[i+1]<sr or m[i+2]<sr) and ('8' in s):
k+=1
maxs=max(maxs,m[i]+m[i+1]+m[i+2])
print(k,maxs)
Ответ: 6115 17979
38)(№4690) В файле 17-243.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар чисел, в которых оба элемента меньше, чем наибольшее из всех чисел в файле, делящихся на 71, и хотя бы один элемент из двух делится на 13. В ответе запишите два числа: сначала количество найденных пар, а затем – минимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m=[]
for i in open('17-243.txt').readlines(): m.append(int(i))
k=0
max71=0
for i in m:
if i%71==0: max71=max(max71,i)
mins=20000
for i in range(len(m)-1):
if m[i]<max71 and m[i+1]<max71 and m[i]*m[i+1]%13==0:
k+=1
mins=min(mins,m[i]+m[i+1])
print(k,mins)
Ответ: 1445 2447
39)(№4705 А.Кабанов) В файле 17-257.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые положительные значения до 10 000 включительно. Необходимо найти сумму минимального и максимального числа среди оканчивающихся на 4 элементов последовательности. Затем программа должна найти и вывести количество пар элементов последовательности, сумма которых меньше найденной суммы, а также наибольшую из этих сумм. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m=[]
for i in open('17-257.txt').readlines(): m.append(int(i))
mt=[]
for i in m:
if str(i)[-1]=='4': mt.append(i)
sk=min(mt)+max(mt)
k=0
maxs=0
for i in range(len(m)-1):
if m[i]+m[i+1]<sk:
k+=1
maxs=max(maxs,m[i]+m[i+1])
print(k,maxs)
Ответ: 503 10094
40)(№4707 А.Кабанов) В файле 17-257.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые положительные значения до 10 000 включительно. Программа должна найти и вывести количество и наименьшую сумму пар элементов последовательности с чётной суммой, большей чем сумма максимального и минимального нечётного числа. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m=[]
for i in open('17-257.txt').readlines(): m.append(int(i))
maxc=0
minc=10000
for i in m:
if i%2!=0:
maxc=max(maxc,i)
minc=min(minc,i)
sk=minc+maxc
k=0
mins=20000
for i in range(len(m)-1):
s=m[i]+m[i+1]
if s>sk and s%2==0:
k+=1
mins=min(mins,m[i]+m[i+1])
print(k,mins)
Ответ: 250 10094
41)(№4717) В файле 17-243.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар чисел, в которых хотя бы один из двух элементов меньше, чем сумма цифр всех чисел в файле, делящихся на 51. В ответе запишите два числа: сначала количество найденных пар, а затем – максимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m=[]
for i in open('17-243.txt').readlines(): m.append(int(i))
sk=0
for i in m:
if i%51==0:
for a in str(i):sk+=int(a)
k=0
maxs=0
for i in range(len(m)-1):
if m[i]<sk or m[i+1]<sk:
k+=1
maxs=max(maxs,m[i]+m[i+1])
print(k,maxs)
Ответ: 5526 13993
42)(№4718) В файле 17-243.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар чисел, в которых оба элемента меньше, чем сумма цифр всех чисел в файле, делящихся на 43. В ответе запишите два числа: сначала количество найденных пар, а затем – максимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m=[]
for i in open('17-243.txt').readlines(): m.append(int(i))
sk=0
for i in m:
if i%43==0:
for a in str(i):sk+=int(a)
k=0
maxs=0
for i in range(len(m)-1):
if m[i]<sk and m[i+1]<sk:
k+=1
maxs=max(maxs,m[i]+m[i+1])
print(k,maxs)
Ответ: 1041 7903
43)(№4722) В файле 17-243.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар чисел, в которых ровно один из двух элементов больше, чем сумма цифр всех чисел в файле, делящихся на 35, а шестнадцатеричная запись другого оканчивается на EF. В ответе запишите два числа: сначала количество найденных пар, а затем – минимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m,s35=[],0
for i in open('17-243.txt').readlines():
m.append(int(i))
if m[-1]%35==0:
for c in str(m[-1]): s35+=int(c)
k=0
mins=10**9
for i in range(len(m)-1):
b=m[i:i+2]
s1=b[0]>s35 and b[1]<=s35 and hex(b[1])[-2:]=='ef'
s2=b[1]>s35 and b[0]<=s35 and hex(b[0])[-2:]=='ef'
if s1 or s2:
k+=1
mins=min(mins,b[0]+b[1])
print(k,mins)
Ответ: 15 6410
44)(№4721) В файле 17-243.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар чисел, в которых ровно один из двух элементов больше, чем сумма цифр всех чисел в файле, делящихся на 61, а десятичная запись другого оканчивается на 33. В ответе запишите два числа: сначала количество найденных пар, а затем – минимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента.
Решение
m=[]
for i in open('17-243.txt').readlines(): m.append(int(i))
sk=0
for i in m:
if i%61==0:
for a in str(i):sk+=int(a)
k=0
mins=20000
for i in range(len(m)-1):
s1=m[i]>sk and m[i+1]<=sk and str(m[i+1])[-2:]=='33'
s2=m[i+1]>sk and m[i]<=sk and str(m[i])[-2:]=='33'
if s1 or s2:
k+=1
mins=min(mins,m[i]+m[i+1])
print(k,mins)
Ответ: 41 5182
45)(№4662) В файле 17-1.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество пар, в которых хотя бы один из двух элементов меньше, чем среднее арифметическое всех чисел в файле, и хотя бы один из двух элементов оканчивается на 13. В ответе запишите два числа: сначала количество найденных пар, а затем – максимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m=[]
for i in open('17-1.txt').readlines(): m.append(int(i))
sr=sum(m)/len(m)
k=0
maxs=-20000
for i in range(len(m)-1):
s1=m[i]<sr or m[i+1]<sr
s2=str(m[i])[-2:]=='13' or str(m[i+1])[-2:]=='13'
if s1 and s2:
k+=1
maxs=max(maxs,m[i]+m[i+1])
print(k,maxs)
Ответ: 177 9788
46)(№3937 Апробация 19 февраля 2022 года, Москва) В файле z_17.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые — значения от —10 000 до 10 000 включительно. Определите количество пар последовательности, в которых хотя бы одно число делится на 11, а сумма элементов пары не более максимального элемента последовательности, кратного 11. В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m,m11,k,maxs=[],[],0,0
for i in open('z_17.txt').readlines():
m.append(int(i))
if int(i)%11==0:m11.append(int(i))
m11=max(m11)
for i in range(len(m)-1):
if m[i]%11*m[i+1]%11==0 and m[i]+m[i+1]<=m11:
k+=1
maxs=max(maxs,m[i]+m[i+1])
print(k,maxs)
Ответ: 731 990
47)(№4900 Е.Джобс) В файле 17-273.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Подходящей называется тройка элементов последовательности, сумма которых меньше максимального элемента последовательности. Запишите в ответе количество подходящих троек, а затем укажите сумму минимального и максимального значений элементов во всех таких тройках. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
Например, рассмотрим последовательность из шести элементов: 12; 18; 3; -15; 11; 16. Максимальное значение последовательности 18. Следовательно, подходят три тройки: (3; –15; 11), (–15; 11; 16) и (18; 3; –15). Минимальное значение из всех элементов этих троек равно «–15», а максимальное равно 18; их сумма равна 3. Ответ: 3 3.
Решение
Вариант 1
m=[]
for i in open('17-273.txt').readlines():m.append(int(i))
maxc=max(m)
k=0
max3=-10**16
min3=10**16
for i in range(len(m)-2):
b=m[i:i+3]
if sum(b)<maxc:
k+=1
max3=max(max3,max(b))
min3=min(min3,min(b))
print(k,max3+min3)
Вариант 2
m,m1=[],[]
for i in open('17-273.txt').readlines():m.append(int(i))
maxc=max(m)
for i in range(len(m)-2):
b=m[i:i+3]
if sum(b)<maxc:
m1+=[max(b),min(b)]
print(len(m1)//2,max(m1)+min(m1))
Ответ: 8305 -4
48)(№4899 Е.Джобс) В файле 17-272.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Подходящей считается пара, в которой хотя бы один элемент больше среднего арифметического всех положительных элементов последовательности. Запишите в ответе количество подходящих пар, а затем максимальную сумму цифр одного элемента в подходящих парах. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Например, рассмотрим последовательность из шести элементов: 12; 18; 3; -15; 11; 16. Среднее арифметическое всех положительных элементов последовательности равно 12. Следовательно, подходит 3 пары: (12; 18), (18; 3) и (11; 16). Суммы цифр у элементов: 3 (1+2), 9 (1+8), 3, 2 (1+1), 7 (1+6). Ответ: 3 9.
Решение
m,sp=[],[]
for i in open('17-272.txt').readlines():
m.append(int(i))
if m[-1]>0:sp.append(m[-1])
srp=sum(sp)/len(sp)
m1=[]
for i in range(len(m)-1):
b=m[i:i+2]
if max(b)>srp:
m1+=[sum(map(int,str(abs(b[0])))),sum(map(int,str(abs(b[1]))))]
print(len(m1)//2,max(m1))
Ответ: 4440 35
49)(№4898 Е.Джобс) В файле 17-271.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов, сумма последних цифр которых равна 7, затем максимальную сумму элементов таких из найденных пар, в которых оба значения меньше среднего арифметического всех элементов обрабатываемой последовательности. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Например, рассмотрим последовательность из шести элементов: 12; 18; 2; -15; 11; 16. Подходит две пары: (2; -15), (11; 16). Среднее арифметическое всех элементов последовательности равно 9. Следовательно искомая сумма равна 2 + (–15) = –13. Ответ: 2 –13.
Решение
m,sp=[],[]
for i in open('17-271.txt').readlines():
m.append(int(i))
srp=sum(m)/len(m)
k=0
maxs=-10**9
for i in range(len(m)-1):
b=m[i:i+2]
if abs(b[0])%10+abs(b[1])%10==7:
# if int(str(b[0])[-1])+int(str(b[1])[-1])==7:(второй способ)
k+=1
if max(b)<srp:
maxs=max(maxs,sum(b))
print(k,maxs)
Ответ: 792 -587
50)(№4720) В файле 17-243.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар чисел, в которых ровно один из двух элементов больше, чем сумма цифр всех чисел в файле, делящихся на 49, а десятичная запись другого оканчивается на 7. В ответе запишите два числа: сначала количество найденных пар, а затем – минимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m,s,k,ms=[],'',0,[]
for i in open('17-243.txt').readlines():
m.append(int(i))
if m[-1]%49==0: s+=str(m[-1])
sc=sum(map(int, s))
for i in range(len(m)-1):
s1=m[i]>sc and m[i+1]<=sc and m[i+1]%10==7
s2=m[i+1]>sc and m[i]<=sc and m[i]%10==7
if s1 or s2: ms.append(m[i]+m[i+1])
print(len(ms),min(ms))
Ответ: 385 4867
51)(№4719) В файле 17-243.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар чисел, в которых ровно один из двух элементов меньше, чем сумма цифр всех чисел в файле, делящихся на 49, а другой делится на 13. В ответе запишите два числа: сначала количество найденных пар, а затем – максимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m,s,k,ms=[],'',0,[]
for i in open('17-243.txt').readlines():
m.append(int(i))
if m[-1]%49==0: s+=str(m[-1])
sc=sum(map(int, s))
for i in range(len(m)-1):
s1=m[i]<sc and m[i+1]>=sc and m[i+1]%13==0
s2=m[i+1]<sc and m[i]>=sc and m[i]%13==0
if s1 or s2: ms.append(m[i]+m[i+1])
print(len(ms),max(ms))
Ответ: 299 13397
52)(№4691) В файле 17-243.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар чисел, в которых хотя бы один из двух элементов меньше, чем наибольшее из всех чисел в файле, делящихся на 171, и хотя бы один элемент из двух – нечётное число. В ответе запишите два числа: сначала количество найденных пар, а затем – максимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m,m171,k,ms=[],0,0,[]
for i in open('17-243.txt').readlines():
m.append(int(i))
if m[-1]%171==0: m171=max(m[-1],m171)
for i in range(len(m)-1):
if min(m[i],m[i+1]) <m171 and m[i]%2+m[i+1]%2>0:
ms.append(m[i]+m[i+1])
print(len(ms),max(ms))
Ответ: 7534 19643
53)(№4684) В файле 17-1.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество троек, в которых хотя бы два из трёх элементов меньше, чем среднее арифметическое всех чисел в файле, и десятичная запись хотя бы двух из трёх элементов оканчивается на 8. В ответе запишите два числа: сначала количество найденных троек, а затем – максимальную сумму элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
Решение
m,ms=[],[]
for i in open('17-1.txt').readlines():
m.append(int(i))
sra=sum(m)/len(m)
for i in range(len(m)-2):
b=sorted(m[i:i+3])
if b[1]<sra and (str(b[0])[-1]+str(b[1])[-1]+str(b[2])[-1]).count('8')>1:
ms.append(sum(b))
print(len(ms),max(ms))
Ответ: 134 8155
54)(№4683) В файле 17-1.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество троек, в которых хотя бы два из трёх элементов меньше, чем среднее арифметическое всех чисел в файле, и десятичная запись хотя бы одного из трёх элементов оканчивается на 14. В ответе запишите два числа: сначала количество найденных троек, а затем – максимальную сумму элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
Решение
m,ms=[],[]
for i in open('17-1.txt').readlines():
m.append(int(i))
sra=sum(m)/len(m)
for i in range(len(m)-2):
b=sorted(m[i:i+3])
s1=b[1]<sra
s2=(str(b[0])[-2:]+' '+str(b[1])[-2:]+' '+str(b[2])[-2:])
if s1 and s2.count('14')>0:
ms.append(sum(b))
print(len(ms),max(ms))
Ответ: 134 4104
55)(№4673) В файле 17-1.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество троек, в которых хотя бы один из трёх элементов меньше, чем среднее арифметическое всех чисел в файле, и хотя бы один из трёх элементов делится на 3. В ответе запишите два числа: сначала количество найденных троек, а затем – максимальную сумму элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
Решение
m,ms=[],[]
for i in open('17-1.txt').readlines():
m.append(int(i))
sra=sum(m)/len(m)
for i in range(len(m)-2):
b=sorted(m[i:i+3])
s1=b[0]<sra
s2=b[0]*b[1]*b[2]%3==0
if s1 and s2:
ms.append(sum(b))
print(len(ms),max(ms))
Ответ: 6151 18891
56)(№4674) В файле 17-1.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество троек, в которых хотя бы один из трёх элементов меньше, чем среднее арифметическое всех чисел в файле, и хотя бы два из трёх элементов делятся на 7. В ответе запишите два числа: сначала количество найденных троек, а затем – максимальную сумму элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
Решение
m,ms=[],[]
for i in open('17-1.txt').readlines():
m.append(int(i))
sra=sum(m)/len(m)
for i in range(len(m)-2):
b=sorted(m[i:i+3])
s1=b[0]<sra
s2=(str(b[0]%7)+str(b[1]%7)+str(b[2]%7)).count('0')>1
if s1 and s2:
ms.append(sum(b))
print(len(ms),max(ms))
Ответ: 498 16198
57)(№4668) В файле 17-4.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар, в которых хотя бы один из двух элементов меньше, чем среднее арифметическое всех чисел в файле, и десятичная запись хотя бы одного из двух элементов содержит цифру 7. В ответе запишите два числа: сначала количество найденных пар, а затем – минимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m,ms=[],[]
for i in open('17-4.txt').readlines():
m.append(int(i))
sra=sum(m)/len(m)
for i in range(len(m)-1):
s1=min(m[i],m[i+1])<sra
s2=(str(m[i])+str(m[i+1])).count('7')>0
if s1 and s2:
ms.append(m[i]+m[i+1])
print(len(ms),min(ms))
Ответ: 827 2378
58)(№4423 П.Финкель) В файле 17-204.txt содержится последовательность целых чисел, которые принимают значения от -10000 до 10000 включительно. Тройка идущих подряд чисел последовательности называется уникальной, если только второе из них является положительным числом, заканчивающимся на 9. Определите количество уникальных троек чисел, а затем – максимальную из всех сумм таких троек.
Решение
m,ms=[],[]
for i in open('17-204.txt').readlines():
m.append(int(i))
for i in range(len(m)-2):
s1=m[i]>0 and str(m[i])[-1]=='9'
s2=m[i+1]>0 and str(m[i+1])[-1]=='9'
s3=m[i+2]>0 and str(m[i+2])[-1]=='9'
if not(s1) and s2 and not(s3):
ms.append(m[i]+m[i+1]+m[i+2])
print(len(ms),max(ms))
Ответ: 206 23427
59)(№4420 П.Финкель) В файле 17-199.txt содержится последовательность целых чисел, которые принимают значения от -10000 до 10000 включительно. Тройка идущих подряд чисел последовательности называется уникальной, если только второе из них является положительным трёхзначным нечётным числом. Определите количество уникальных троек чисел, а затем – максимальную из всех сумм таких троек.
Решение
m,ms=[],[]
for i in open('17-199.txt').readlines():
m.append(int(i))
for i in range(len(m)-2):
s1=m[i]>0 and len(str(m[i]))==3 and m[i]%2!=0
s2=m[i+1]>0 and len(str(m[i+1]))==3 and m[i+1]%2!=0
s3=m[i+2]>0 and len(str(m[i+2]))==3 and m[i+2]%2!=0
if not(s1) and s2 and not(s3):
ms.append(m[i]+m[i+1]+m[i+2])
print(len(ms),max(ms))
Ответ: 94 18841
60)(№4357 П.Волгин) В файле 17-7.txt содержится последовательность целых чисел. Элементы последовательности могут принимать значения от 0 до 200 включительно. Рассматривается множество элементов последовательности, которые удовлетворяют следующему условию: число в восьмеричной записи оканчивается на 7, но не оканчивается на 27. Найдите количество таких чисел и максимальное из них.
Решение
m=[]
for i in open('17-7.txt').readlines():
c8=oct(int(i))
if c8[-1]=='7' and not(c8[-2:]=='27'): m.append(int(i))
print(len(m),max(m))
Ответ: 9 63
61)(№ 4358 П. Волгин) В файле 17-7.txt содержится последовательность целых чисел. Элементы последовательности могут принимать значения от 0 до 200 включительно. Рассматривается множество элементов последовательности, которые удовлетворяют следующему условию: число в шестнадцатеричной записи оканчивается на 9, но не оканчивается на A9. Найдите количество таких чисел и максимальное из них.
Решение
m=[]
for i in open('17-7.txt').readlines():
c8=hex(int(i))
if c8[-1]=='9' and not(c8[-2:]=='a9'): m.append(int(i))
print(len(m),max(m))
Ответ: 5 57
62)(№ 4354 П. Волгин) В файле 17-6.txt содержится последовательность целых чисел. Элементы последовательности могут принимать значения от 0 до 200 включительно. Определите сначала количество троек элементов последовательности, в которых все три числа в двоичной системе счисления имеют ровно 3 единицы, а затем сумму максимальных чисел из таких троек. Под тройкой подразумевается три идущих подряд элемента последовательности.
Решение
m,max3=[],[]
for i in open('17-6.txt').readlines():
m.append(int(i))
for i in range(len(m)-2):
s1=bin(m[i]).count('1')==3
s2=bin(m[i+1]).count('1')==3
s3=bin(m[i+2]).count('1')==3
if s1 and s2 and s3:
max3.append(max(m[i],m[i+1],m[i+2]))
print(len(max3),sum(max3))
Ответ: 16 1548
63)(№ 5164) В файле 17-298.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000. Найдите все пары элементов последовательности, в которых ровно одно число больше одной из своих цифр в 197 раз, а сумма чисел пары меньше, чем максимальный элемент последовательности кратный 197. В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m,mk=[],[]
maxc,maxs,k=0,0,0
for i in open('17-298.txt').readlines():
m.append(int(i))
if m[-1]%197==0: maxc=max(maxc,m[-1])
for i in range(10):mk.append(i*197)
for i in range(len(m)-1):
s1,s2=0,0
for c in str(m[i]):
if m[i]==mk[int(c)]:s1=1; break
for c in str(m[i+1]):
if m[i+1]==mk[int(c)]:s2=1; break
if s1+s2==1 and m[i]+m[i+1]<maxc:
k+=1
maxs=max(maxs,m[i]+m[i+1])
print(k,maxs)
Ответ: 4341 9452
64)(№ 4597 Основная волна 2022) В файле содержится последовательность натуральных чисел. Элементы последовательности могут принимать целые значения от 1 до 100 000 включительно. Определите количество пар последовательности, в которых остаток от деления хотя бы одного из элементов на 117 равен минимальному элементу последовательности. В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Файлы к заданию: 17_4597.txt
Решение
m=list(map(int,open('')))
minp=min(m)
b=[]
for i in range(len(m)-1):
if m[i]%117==minp or m[i+1]%117==minp: b.append(m[i]+m[i+1])
print(len(b),max(b))
Ответ: 175 173738
65)(№2076 Л.Шастин) В файле содержится последовательность целых чисел. Элементы последовательности могут принимать значения от 0 до 10000 включительно. Определите сначала количество троек элементов последовательности, из которых можно составить прямоугольный треугольник, а затем сумму всех гипотенуз треугольников в подходящих тройках. Под тройкой подразумевается три идущих подряд элемента последовательности.
Файлы к заданию: 17_2076.txt
Решение
a=list(map(int,open('17_2076.txt').readlines()))
b=[]
for i in range(len(a)-2):
c=sorted(a[i:i+3])
if c[0]**2+c[1]**2==c[2]**2:b.append(c[2])
print(len(b),sum(b))
Ответ: 370 209813
66)(№5204 М.Шагитов) В файле 17-316.txt содержится последовательность целых чисел. Элементы последовательности - четырёхзначные натуральные числа. Назовём два различных четырёхзначных числа удачной парой, если они различаются только одной цифрой в каком-то из разрядов. Найдите все тройки элементов последовательности, в которых есть хотя бы одна удачная пара, а сумма всех чисел тройки меньше максимальной суммы двух различных элементов последовательности. В ответе запишите количество найденных троек, затем минимальную из сумм элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
Решение
def sv(x,y):
k=0
xs,ys=str(x),str(y)
for i in range(4):
if xs[i]!=ys[i]:k+=1
return int(k==1)
m=list(map(int,open('17-316.txt').readlines()))
ms=sum(sorted(m)[-2:])
b=[]
for i in range(len(m)-2):
x,y,z=m[i:i+3]
fl=sv(x,y)+sv(x,z)+sv(y,z)
if fl and sum(m[i:i+3])<ms: b.append(sum(m[i:i+3]))
print(len(b),min(b))
Ответ: 1093 3148
67)(№5060) В файле 17-282.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000. Определите количество пар элементов последовательности, в которых хотя бы у одного из чисел сумма цифр троичной записи равна сумме цифр троичной записи максимального элемента последовательности, кратного 11. В ответе запишите количество найденных пар, затем минимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
def f3(x):
s=0
while x: s+=x%3; x//=3
return s
m=list(map(int,open('17-282.txt').readlines()))
max11=0
for i in m:
if i%11==0: max11=max(max11,i)
maxs11=f3(max11)
b=[]
for i in range(len(m)-1):
c=m[i:i+2]
if f3(c[0])==maxs11 or f3(c[1])==maxs11: b.append(sum(c))
print(len(b),min(b))
Ответ: 2886 2085
68)(№6223 А. Богданов) В файле 17-365.txt содержится последовательность целых чисел, по модулю не превышающих 10000. Найдите все пары соседних элементов, отвечающие условиям:
– только один из элементов пары заканчивается на 1;
– оба элемента пары меньше максимального среднего значения пары среди всех пар отвечающих предыдущему условию.
В ответе запишите два числа: сначала количество найденных пар, затем максимальный элемент из пар, которые содержат минимальный элемент из всех найденных пар.
Решение
m=list(map(int,open('17-365.txt').readlines()))
a,b,d=[],[],[]
for i in range(len(m)-1):
c=m[i:i+2]
if (str(c[0])[-1]+str(c[1])[-1]).count('1')==1: b.append(sum(c)/2);a.append(c)
maxsr=max(b)
minc,maxc=10000,-10000
for c in a:
if max(c)<maxsr: d.append(c);minc=min(minc,min(c))
for c in d:
if min(c)==minc: maxc=max(maxc,max(c))
print(len(d),maxc)
Ответ: 1971 1931
69)(№5802 П.Финкель) В файле 17-346.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 1 до 200 000 включительно. Определите количество троек последовательности, для которых произведение всех цифр трёх чисел не превосходит 2·109 и удовлетворяет маске «83*8*». В качестве ответа укажите количество таких троек и наибольшее произведение их цифр. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
Решение
def pc(x):
p=1
for i in str(x): p*=int(i)
return p
m=list(map(int,open('17-346.txt').readlines()))
b=[]
for i in range(len(m)-2):
c=m[i:i+3]
p=pc(c[0])*pc(c[1])*pc(c[2])
if str(p)[:2]=='83' and '8' in str(p)[2:] and p<=2*10**9: b.append(p)
print(len(b),max(b))
Ответ: 3 839808000
70)(№18257 Л.Шастин) В файле 17-18257.txt содержится последовательность натуральных чисел, которые нумеруются, начиная с единицы. Определите количество пар элементов последовательности, сумма номеров которых оканчивается на ту же цифру, что и максимальный элемент последовательности. В ответе запишите количество найденных пар, затем минимальное значение среди модулей разностей суммы элементов и суммы номеров таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m=list(map(int,open('17-18257.txt').readlines()))
maxc=max(m)%10
m1=[]
for i in range(len(m)-1):
if (2*i+3)%10==maxc:m1.append(abs((m[i]+m[i+1])-(2*i+3)))
print(len(m1),min(m1))
Ответ: 1000 811
71)(№17558) В файле 17-17558.txt содержится последовательность целых чисел. Её элементы могут принимать целые значения от –100 000 до 100 000 включительно. Определите количество пар последовательности, в которых хотя бы одно число отрицательно, а сумма чисел пары меньше количества чисел последовательности, кратных 32. В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
m=list(map(int,open('17-17558.txt').readlines()))
k=0
for x in m: k+=int(x%32==0)
m1=[]
for i in range(len(m)-1):
b=sorted(m[i:i+2])
if b[0]<0 and sum(b)<k: m1.append(sum(b))
print(len(m1),max(m1))
Ответ: 4969 299
72)(№12450 Д.Иванов) В файле 17-12450.txt содержится последовательность натуральных чисел. Элементы последовательности могут принимать целые значения от 1 до 100 000 включительно. Определите количество троек элементов последовательности, в которых сумма остатков от деления элементов на 113 равна минимальному элементу последовательности, кратному 52. В ответе запишите количество найденных троек, затем максимальную из сумм элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
Решение
m=list(map(int,open('17-12450.txt').readlines()))
min52=100000
for x in m:
if x%52==0: min52=min(min52,x)
m1=[]
for i in range(len(m)-2):
b=m[i:i+3]
if b[0]%113+b[1]%113+b[2]%113 ==min52:
m1.append(sum(b))
print(len(m1),max(m1))
Ответ: 7 77457