Войти
или
Зарегистрироваться
Маркетплейс
Курсы
Учебник
Учебник 2.0
ОГЭ/ЕГЭ
Олимпиады
Рубрикатор
Компилятор
Онлайн Компилятор
Компилятор Python (lite)
Редактор HTML Code
Статья Автор:
Лебедев Дмитрий
Решение заданий вар 702
from turtle import * # импорт модуля Черепашки def pokraska(k, m=50): # подпрограмма вывода кластера с номером k tracer(0) # режим ускорения прорисовки up() # подняли перо clr =colors[k] # выбор цвета для рисунка for x, y in dk[k]: # пробег по точкам кластера goto(x*m,y*m) # переход в точку dot(10,clr) # рисование точки update() # вывод на печать def rast(dot1,dot2): # вычисление расстояния между точками по первым двух параметрам r = (dot1[0]-dot2[0])**2 + (dot1[1]-dot2[1])**2 return r**0.5 def srast(pos,dots): # вычисление суммы расстояний от точки до всех точек кластера r = 0 for d in dots : r += rast(pos,d) return r def centroid(dots) : # вычисление истинного центроида ans, rmax = 0, srast(dots[0],dots) # инициализация ответа for d in dots : # пробег по точкам r = srast(d,dots) # вычисление суммы расстояний if r > rmax : # сравнение с лучшим ans, rmax = d, r # изменение ответа return ans, rmax # возврат ответа dk ={0:[],1:[],2:[],3:[],4:[],10:[]} # словарь кластеров colors ={0:'red',1:'green',2:'blue',3:'orange',4:'pink',10:'black'} # словарь цветов for s in open('27B_25-06b.txt'): # чтение данных и разбиение на класстеры s = s.replace(',','.') # замена запятой на точку x,y = map(float,s.split()) # выделение координат if y > 8 and y<18 and x< -16 : # отбор 1 кластера по прямой dk[0].append((x,y)) elif x > -10 and x < 5 and y >20: # отбор 2 кластера по прямой и углу dk[1].append((x,y)) elif x > 10 and x< 20 and y > 22: # отбор 2 кластера по прямой и углу dk[2].append((x,y)) elif x > 15 and x< 25 and y < 22 and y > 14: # отбор 2 кластера по прямой и углу dk[3].append((x,y)) elif x > 23 and x< 35 and y < 12 and y > 0: # отбор 2 кластера по прямой и углу dk[4].append((x,y)) else : dk[10].append((x,y)) n, sx,sy = 0, 0 , 0 # инициализация ответов и числа кластеров обработки for k in dk : # пробег по кластерам if len(dk[k]) == 0 : continue # пропуск пустых pokraska(k, 10) # это раскраска ans, rmax = centroid(dk[k]) # получение ответа для кластера n,sx,sy = n+1, sx + ans[0], sy +ans[1] # вычисление итогов print(k, len(dk[k]), ans[0]*10000,ans[1]*10000,rmax) # печать характеристик #print(abs(sx/n)*10000,abs(sy/n)*10000) # вывод результатов #20468 223049 #173359.2364 161130
×
def mindel(n) : if n % 2 == 0 : return 2 if n<9 : return n d = 1 while d*d <n : d += 2 if n % d == 0 : return d return n def sumdel (n): a, b = set(), set() for d in range(2,n): if n % d != 0 : continue if mindel(d) < d : a.add(d) else : b.add(d) return a, b m = 765432 k = 5 #a,b =sumdel(765428) #print(sorted(a),sum(a)) #print(sorted(b),sum(b)) while k > 0 : m -= 1 a,b = sumdel(m) r=sum(a) if r % 10 != 3 : continue print(m, r) k -= 1 #'''
×
data = [int(s) for s in open('17_25-06b.txt')] s2=0 for x in data : y = abs(x) if y>9 and y < 100 and y%2 ==1 : s2 +=x print(s2) ans, pp = 0, None for i in range(1,len(data)): x,y = data[i-1],data[i] k=0 if x % s2 == 0 : k +=1 if y % s2 == 0 : k +=1 if k != 1 : continue ans += 1 if pp == None or x*y < pp : pp = x*y print(ans, pp,x,y) print(ans,abs(pp))
×
Прикрепленные файлы
17_25-06b.txt
Forma_IN11_12052025_profil_new.xls
Ответы601-602.jpg
Ответы701-702.jpg
Печать