Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- def radius(x,y):
- if 42 <= (math.sqrt(math.pow(x, 2) + math.pow(y, 2))) <=88:
- return (math.sqrt(math.pow(x, 2) + math.pow(y, 2)))
- else:
- return False
- "Подстановка своих значений"
- m2=50
- m3=60
- z2=160
- z3=240
- z4=400 #второй неизвестный диск
- z1=80 #первый неизвестный диск
- x2= 45.0534
- y2= 31.5467
- x3=-45.9619
- y3=45.9619
- Znach=[]
- e1=1000000
- e2=1000000
- for x1 in range(-88,89):
- for y1 in range(-88,89):
- if radius(x1,y1):
- for m1 in range(40,80,10):
- for m4 in range(40,80,10):
- x4= (-m1*x1*z1 - m2*x2*z2 - m3*x3*z3) / (m4*z4)
- if -88 <= x4 <= 88 :
- y4 = (-m1*y1*z1 - m2*y2*z2 - m3*y3*z3) / (m4*z4)
- if -88 <= y4 <= 88:
- if radius(x4,y4):
- if abs(m1 * x1 + m2 * x2 + m3 * x3 + m4 * x4)<=e1 and abs(m1 * y1 + m2 * y2 + m3 * y3 + m4 * y4 )<=e2:
- e1=abs(m1 * x1 + m2 * x2 + m3 * x3 + m4 * x4)
- e2=abs(m1 * y1 + m2 * y2 + m3 * y3 + m4 * y4 )
- Znach.append(list(map(float,(x1, y1, m1,radius(x1,y1), x4, y4, m4,radius(x4,y4),e1,e2,(m1 * x1*z1 + m2 * x2*z2 + m3 * x3*z3 + m4 * x4*z4),(m1 * y1*z1 + m2 * y2*z2 + m3 * y3*z3 + m4 * y4*z4 )))))
- print("Человек, сколько наилучших вариантов я тебе должен показать?")
- n=int(input())
- if n==1:
- print(end='\n')
- print( "Лучший результат (e1=%f,e2=%f)"%(Znach[int(len(Znach)-1)][8],Znach[int(len(Znach))-1][9]),end="\n")
- print(" Для первого неизвестного диска x=%f y=%f m=%d r=%f Alfa=%f z=%d"%(Znach[int(len(Znach)-1)][0],Znach[int(len(Znach)-1)][1],Znach[int(len(Znach)-1)][2],Znach[int(len(Znach)-1)][3],math.degrees(math.atan2(Znach[int(len(Znach))-1][0],Znach[int(len(Znach))-1][1])),z1),end="\n")
- print(" Для второго неизвестного диска x=%f y=%f m=%d r=%f Alfa=%f z=%d"%(Znach[int(len(Znach)-1)][4],Znach[int(len(Znach)-1)][5],Znach[int(len(Znach)-1)][6],Znach[int(len(Znach)-1)][7],math.degrees(math.atan2(Znach[int(len(Znach))-1][4],Znach[int(len(Znach))-1][5])),z4),end="\n")
- print("Это было легко")
- elif n>1 and (len(Znach)>=n):
- print(end='\n')
- print("Лучший результат (e1=%f,e2=%f)" % (Znach[int(len(Znach) - 1)][8], Znach[int(len(Znach)) - 1][9]), end="\n")
- print(" Для первого неизвестного диска x=%f y=%f m=%d r=%f Alfa=%f z=%d" % (
- Znach[int(len(Znach) - 1)][0], Znach[int(len(Znach) - 1)][1], Znach[int(len(Znach) - 1)][2],
- Znach[int(len(Znach) - 1)][3],
- math.degrees(math.atan2(Znach[int(len(Znach)) - 1][0], Znach[int(len(Znach)) - 1][1])), z1), end="\n")
- print(" Для второго неизвестного диска x=%f y=%f m=%d r=%f Alfa=%f z=%d" % (
- Znach[int(len(Znach) - 1)][4], Znach[int(len(Znach) - 1)][5], Znach[int(len(Znach) - 1)][6],
- Znach[int(len(Znach) - 1)][7],
- math.degrees(math.atan2(Znach[int(len(Znach)) - 1][4], Znach[int(len(Znach)) - 1][5])), z4), end="\n\n")
- for i in range(2,n+1):
- print("Результат №%d"%(i),end="\n")
- print(" Для первого неизвестного диска x=%f y=%f m=%d r=%f Alfa=%f z=%d" % (
- Znach[int(len(Znach) - 1)][0], Znach[int(len(Znach) - i)][1], Znach[int(len(Znach) - i)][2],
- Znach[int(len(Znach) - i)][3],
- math.degrees(math.atan2(Znach[int(len(Znach)) - i][0], Znach[int(len(Znach)) - i][1])), z1), end="\n")
- print(" Для второго неизвестного диска x=%f y=%f m=%d r=%f Alfa=%f z=%d" % (
- Znach[int(len(Znach) - i)][4], Znach[int(len(Znach) - i)][5], Znach[int(len(Znach) - i)][6],
- Znach[int(len(Znach) - i)][7],
- math.degrees(math.atan2(Znach[int(len(Znach)) - 1][4], Znach[int(len(Znach)) - 1][5])), z4), end="\n\n")
- print("Я дал тебе всё, что ты хочешь, человек, могу ли я попросить теперь меня не бить ?")
- else:
- print("Бип-буп-б****п-пу****")
Add Comment
Please, Sign In to add comment