Форум » Обработка целых чисел » 17 задание | (№ 5180) (М. Шагитов) » Ответить

17 задание | (№ 5180) (М. Шагитов)

VsevolodN: Здравствуйте, решил по данному алгоритму задачу, но количество подходящих пар получилось 9 вместо 13: [pre2]def f(x,n): k = 0 while x > 0: k = k + x%8 x//=8 return k u = [ ] s = [ int(x) for x in open('17-304.txt') ] m = min(s) for i in range(len(s)-1): if ((s[ i ]+s[ i+1 ])%m == 0) and ((s[ i ]%f(s[ i+1 ],8)==0 and s[ i+1 ]%f(s[ i+1 ],8)!=0) or (s[ i+1 ]%f(s[ i ],8)==0 and s[ i ]%f(s[ i ],8)!=0)): u.append(s[ i ]+s[ i+1 ]) print(len(u),max(u))[/pre2] Что я не учитываю?

Ответов - 1

2GAPUH: Вот мой код программы, просмотрев его вы найдёте ошибку: with open('17-304.txt', 'r') as f: s = [int(x) for x in f] [pre]def summ(k): s = 0 k = oct(int(k))[2:] for i in k: s += int(i) return s minimal = min(s) u = [] for i in range(1,len(s)): if (s + s[i-1]) % minimal ==0: if bool(s % summ(s[i-1])==0) != bool(s[i-1] % summ(s)==0): u.append(s+s[i-1]) print(len(u),max(u))[/pre]



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