解题思路:
注意事项:
参考代码:
#include<iostream>
using namespace std;
#define PI 3.141592653589793
//这道题考的是语文阅读理解吧?
//首先,它给了我们一张纸,告诉我们长和宽
//我们要做的是将这张纸沿着平行于宽的方向给它剪一刀,这样我们就得到了两张纸
//两张纸:一边是宽,一边未知,我们需要选择一张将它卷起来,再把它放到另一张纸上。
// 一张纸总共有两种卷法(别抬杠啊,正常真就两种)
//
// 第一种:将长度是宽的一边卷成一个圆,我们就可以知道半径,再将它放到另一张纸上
// 另外一张纸:一边是宽,一边是直径
// 进而得出这个卷纸的高度是 长减去直径
//
//第二种:将长度未知的一边卷成一个圆,我们就知道高度是 宽,再将它放到另一张纸上
//另一张纸:一边是宽,一边是直径
//卷起来的纸:一边是宽,一边是圆的周长
//所以我们可以得到 长=直径+周长
//由此我们就可以求出半径
int main()
{
double w;//宽
double h;//长
while (cin >> w >> h)
{
if (w == 0 && h == 0)
break;
//第一种
double r;
r = w /(2*PI);
double gao;
gao = h - r*2;
double mianji1 = r * r * PI * gao;//记录结果1
//第二种
r = h / (2 * PI + 2);
r = r * 2 > w ? w / 2 : r;
gao = w;
double mianji2 = r * r * PI * gao;//记录结果2
double max = mianji1 > mianji2 ? mianji1 : mianji2;//找到最大值
printf("%.3f\n", max);//输出最大值
}
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复