蓝桥杯 1111: Cylinder
2022/2/6 6:13:54
本文主要是介绍蓝桥杯 1111: Cylinder,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
题目链接
我的代码:
#include <cstdio> #include <cmath> #define max(a,b) a>b?a:b double w,h; const double pi=3.141592653589793; double getVolume(){ double v=0.0,vans=0.0; if((pi+1)*w<=h){ v=0.25*pi*pow(w,3); vans=max(vans,v); }else{ v=0.25*pi*w*pow(h,2)/pow(pi+1,2); vans=max(vans,v); } if(2*pi*h<=3*w){ v=1.0*pi*pow(h,3)/27; vans=max(vans,v); }else{ v=0.25*pow(w,2)*(h*pi-w)/pow(pi,2); vans=max(vans,v); } return vans; } int main(){ while(scanf("%lf%lf",&w,&h)&&(w||h)){ printf("%.3lf\n",getVolume()); } return 0; }
同时还看到了一份十分简洁的代码:
#include <stdio.h> #define PAI 3.1415926535898 void main() { double w,h,radii,volume1,volume2; while (scanf("%lf%lf",&w,&h)&&w!=0&&h!=0) { radii=h/2/(1+PAI); if (2*radii>w) radii=w/2; volume1=PAI*radii*radii*w; radii=w/2/PAI; volume2=PAI*radii*radii*(h-2*radii); printf("%.3lf\n",(volume1>volume2)?volume1:volume2); } }
这篇关于蓝桥杯 1111: Cylinder的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26UniApp 中如何实现使用输入法时保持页面列表不动的效果?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中怎么实现输入法弹出时禁止页面向上滚动?-icode9专业技术文章分享
- 2024-11-26WebSocket是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-26页面有多个ref 要动态传入怎么实现?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中实现一个底部输入框的常见方法有哪些?-icode9专业技术文章分享
- 2024-11-26RocketMQ入门指南:搭建与使用全流程详解
- 2024-11-26RocketMQ入门教程:轻松搭建与使用指南
- 2024-11-26手写RocketMQ:从入门到实践的简单教程
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享