Форум » Обработка целых чисел » не сходится ответ тема 17 № (№ 5069) (А. Брейк) Задания КИМ № 17 » Ответить

не сходится ответ тема 17 № (№ 5069) (А. Брейк) Задания КИМ № 17

elpov06: Здравствуйте, в задании (№ 5069) (А. Брейк) В файле 17-290.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Запишите в ответе количество троек элементов последовательности, в которых хотя бы одно число оканчивается на 4 в пятеричной системе счисления и ни одно из чисел не имеет цифру 0 в своей шестеричной записи. Затем запишите максимальную разность между максимальным и минимальным числами в таких тройках. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности. Спрятать ответ 748 981 у меня получается 1 ответ 750, в ответе 748 Подскажите пожалуйста в чем ошибка [pre2] f=open('17-3.txt') a=[] k=0 for i in f: a.append(int(i)) print(a[0:10]) def F(n): ki=0 while n>0: ai=n%6 n=n//6 if ai==0: ki=ki+1 return ki for i in range(len (a)-2): a1=a[ i] a2=a[ i+1] a3=a[ i+2] if F(a1)==0 and F(a2)==0 and F(a3)==0 and (a[ i]%5==4 or a[ i+1]%5==4 or a[ i+2]%5==4): k=k+1 print(k) [/pre2]

Ответов - 3

Поляков: Вы не учитываете, что число 0 в шестеричной системе содержит один 0.

shervlad: Здравствуйте, подскажите, что мы делаем не так? Вот код: [pre2] def s6(x): r = '' while x > 0: r = str(x%6) + r x = x // 6 return r a = [int(i) for i in open('17-290.txt')] count = 0 max_razn = 0 for i in range(0,len(a)-2): x1,x2,x3 = a[ i],a[i+1],a[i+2] if (x1%5==4 or x2%5==4 or x3%5==4) and\ ('0' not in s6(x1)) and ('0' not in s6(x2)) and ('0' not in s6(x3)): count += 1 max_razn = max(max_razn,max(x1,x2,x3)-min(x1,x2,x3)) print(count,max_razn) [/pre2] В ответе получается 750 989

Ж: [pre2] def s6(x): r = '' while x > 0: r = str(x % 6) + r x = x // 6 return r a = [int(i) for i in open('17-290.txt')] count = 0 max_razn = 0 for i in range(0, len(a) - 2): x1, x2, x3 = a, a[i + 1], a[i + 2] if x1!=0 and x2!=0 and x3!=0 and (x1 % 5 == 4 or x2 % 5 == 4 or x3 % 5 == 4) and \ ('0' not in s6(x1)) and ('0' not in s6(x2)) and ('0' not in s6(x3)): count += 1 max_razn = max(max_razn, max(x1, x2, x3) - min(x1, x2, x3)) print(count, max_razn) [/pre2]




полная версия страницы