21计科程一帆


私信TA

用户名:uq_88617846948

访问量:2906

签 名:

搞哥毛哥在上,俺寻思俺是一个最大最强的技术小子

等  级
排  名 1155
经  验 3031
参赛次数 2
文章发表 52
年  龄 19
在职情况 学生
学  校 石河子大学
专  业 计算机科学与技术

  自我简介:

憨憨一个,欢迎大佬指正

解题思路:本题中要求最大的圆柱体积,则需要分两种情况考虑,最后比较得出最大的体积作为最后的结果,这里就是考虑没有用来切割圆柱底面的那一半纸张的哪一边用来卷圆面周长的两种情况,每一种只考虑正好卷完没有重叠的情况,因为体积最大时不会有重叠,即以w和h-2r分别为周长的情况,与此同时另外一边为高。

注意事项:以h-2r为周长时,要注意r是否大于w/2,如果大于,就要将r限制在w/2之内,不然不符合现实逻辑(圆的直径比矩形纸张短边长)

参考代码:

import math as mt
while True:
   a,b=map(int,input().split())
   if a==0 and b==0:
       break
   p=mt.pi
   r1=b/(2*p+2)
   if r1<=(a/2):
       tiji1=p*r1**2*a
   else:
       tiji1=p*(a/2)**2*a
   r2=a/(2*p)
   tiji2=p*r2**2*(b-2*r2)
   print('%.3f'%(max(tiji1,tiji2)))

 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区