fork download
  1. import numpy as np
  2. from scipy.optimize import minimize_scalar
  3.  
  4. # Константа радиус круга
  5. R = 1 # можно заменять на любое значение радиуса
  6.  
  7. # Функция объема конуса
  8. def cone_volume (alpha):
  9. r = R* (1 - alpha / (2 * np.pi)) # радиус основания
  10. h = np.sqrt(R**2 - r**2) # высота конуса
  11. return -((1/3) * np.pi * r**2 * h) # максимизируем объем, возвращаем его
  12. # Ограничение на угол сектора (от 0 до 2*рі)
  13. result = minimize_scalar(cone_volume, bounds=(0, 2 * np.pi), method='bounded')
  14.  
  15. # Оптимальный угол и максимальный объем
  16. optimal_alpha = result.x
  17. max_volume = -result.fun # берем отрицательное, так как мы минимизировали
  18. print(f"Оптимальный угол сектора (в радианах): {optimal_alpha:.4f}")
  19. print(f"Максимальный объем ведра: {max_volume:.4f}")
Success #stdin #stdout 0.34s 51500KB
stdin
30 499887702
128990795 137274936
575374246 989051853
471048785 85168425
640066776 856699603
819841327 611065509
704171581 22345022
536108301 678298936
119980848 616908153
117241527 28801762
325850062 478675378
623319578 706900574
998395208 738510039
475707585 135746508
863910036 599020879
340559411 738084616
122579234 545330137
696368935 86797589
665665204 592749599
958833732 401229830
371084424 523386474
463433600 5310725
210508742 907821957
685281136 565237085
619500108 730556272
88215377 310581512
558193168 136966252
475268130 132739489
303022740 12425915
122379996 137199296
304092766 23505143
stdout
Оптимальный угол сектора (в радианах): 1.1530
Максимальный объем ведра: 0.4031