Форум » Обработка числовых последовательностей » Вопрос по поводу 79 номера 27 задания » Ответить

Вопрос по поводу 79 номера 27 задания

Саша час: Не могли бы вы подробнее рассказать алгоритм подсчета троек, немного не понимаю.

Ответов - 4

cabanov.alexey: Напишу на Python, на Pascal сами переведёте На 2 балла [pre2] n=int(input()) a=[] for i in range(n): a.append(int(input())) count=0 for i in range(n-2): for j in range(i+1,n-1): for k in range(j+1,n): if (a[i ]+a[j]+a[k])%12==0: count+=1 print(count)[/pre2]

Саша час: На 2 балла , понятно. А на 4 ?

cabanov.alexey: На 4 балла [pre2] n=int(input()) mods12=[0,0,0,0,0,0,0,0,0,0,0,0] a=0 for i in range(n): a=int(input()) mods12[a%12]+=1 count=0 for i in range(12): for j in range(i,12): for k in range(j,12): if (i+j+k)%12==0: if i==j==k: count+=mods12[i ]*(mods12[i ]-1)*(mods12[i ]-2)/6 elif i==j: count+= mods12[i ]*(mods12[i ]-1)/2*mods12[k] elif j==k: count+= mods12[j]*(mods12[j]-1)/2*mods12[i ] elif i==k: count+= mods12[i ]*(mods12[i ]-1)/2*mods12[j] else: count+=mods12[i ]*mods12[j]*mods12[k] print(count) [/pre2]


Саша час: Извините, не увидел. Спасибо



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