資訊學奧賽一本通 1032:大象喝水 | OpenJudge NOI 1.3 14
【題目連結】
ybt 1032:大象喝水
OpenJudge NOI 1.3 14:大象喝水
【題目考點】
1. 數學知識
柱體體積 = 底面積*高
圓面積 =
π
∗
r
2
\pi *r^2
π∗r2
長度單位釐米
c
m
cm
cm,面積單位:平方釐米
c
m
2
cm^2
cm2,體積單位:立方厘米
c
m
3
cm^3
cm3,
表示液體體積時,用升
L
L
L與毫升
m
l
ml
ml表示,1毫升即為1立方厘米。
1升為1000毫升,
1
L
=
1000
m
l
1L=1000ml
1L=1000ml
2. 向上取整函式ceil()
函式宣告:double ceil(double x);
取大於等於x的最小的整數。
【解題思路】
- 設大象至少要喝的水為w,一桶水體積為b,大象要喝x桶水。
有不等式 w > = b ∗ x w >= b * x w>=b∗x, 即 x > = w / b x >= w / b x>=w/b
因為x是整數,所以x能取到的最小值為 ⌈ w b ⌉ \lceil \frac{w}{b} \rceil ⌈bw⌉(向上取整) - 本題中,水桶體積
π
∗
r
2
∗
h
\pi * r^2 * h
π∗r2∗h,單位毫升。除1000後,以升為單位,
所以有 b = π ∗ r 2 ∗ h / 1000 b = \pi * r^2 * h / 1000 b=π∗r2∗h/1000,而題目中給出了 w = 20 w = 20 w=20,求 w / b w/b w/b向上取整
所以最終寫出的C++表示式為ceil(20/(PI*r*r*h/1000))
。
【題解程式碼】
解法1:用cin,cout輸入輸出
#include <bits/stdc++.h>
using namespace std;
int main()
{
const double PI = 3.14159;//圓周率
int h, r;//h:高度,r:半徑
cin>>h>>r;
cout<<ceil(20/(PI*r*r*h/1000));
return 0;
}
解法2:用scanf,printf輸入輸出
#include <bits/stdc++.h>
using namespace std;
int main()
{
const double PI = 3.14159;//圓周率
int h, r;//h:高度,r:半徑
scanf("%d %d", &h, &r);
printf("%d", (int)ceil(20/(PI*r*r*h/1000)));//ceil()返回值為double型別,應強轉為int型輸出。
return 0;
}
相關文章
- 資訊學奧賽一本通 1012:計算多項式的值 | OpenJudge NOI 1.3 07
- 資訊學奧賽一本通 1035:等差數列末項計算 | OpenJudge NOI 1.3 18
- 資訊學奧賽一本通 1029:計算浮點數相除的餘 | OpenJudge NOI 1.3 11
- 資訊學奧賽一本通 1051:分段函式 | OpenJudge NOI 1.4 13函式
- 資訊學奧賽一本通 1010:計算分數的浮點數值 | OpenJudge NOI 1.3 05
- 信奧一本通題陳老師解題:1032:大象喝水查
- 資訊學奧賽一本通 1027:輸出浮點數 | OpenJudge NOI 1.1 07
- 資訊學奧賽一本通 1016:整型資料型別儲存空間大小 | OpenJudge NOI 1.2 01資料型別
- 資訊學奧賽一本通 1018:其他資料型別儲存空間大小 | OpenJudge NOI 1.2 03資料型別
- 資訊學奧賽一本通 1118:鋪地毯 視訊題解
- 資訊學奧賽一本通 1218:取石子游戲(NIM)
- 資訊學奧賽一本通 1289:攔截導彈(evd)
- 資訊學奧賽一本通 1272:分組揹包(evd)
- 資訊學奧賽一本通 1322:攔截導彈問題(evd)
- 資訊學奧賽一本通1099:第n小的質數 視訊題解
- 資訊學奧賽一本通 1230:尋找平面上的極大點(evd)
- 資訊學奧賽考點
- C++奧賽一本通貪心題解C++
- 一、資訊學奧賽簡介
- 突破資訊學奧賽生天花板
- 南沙C++信奧賽陳老師解一本通題 1966:【14NOIP普及組】比例簡化C++
- 信奧賽陳老師解一本通題: 1070:人口增長
- 資訊學奧賽--C語言筆記(一)C語言筆記
- 信奧賽一本通陳老師解題 1128:影像模糊處理
- 信奧一本通1164:digit函式Git函式
- 信奧一本通1403:素數對
- 騰訊資訊保安爭霸賽的第四年:喝水人和挖井人
- 信奧賽C++老師解一本通題: 1180:分數線劃定C++
- 信奧一本通1187:統計字元數字元
- 高二的他已透過NOI保送北大了,讓我們一起了解他的資訊學奧賽學習經歷吧!!!
- 南沙C++信奧賽陳老師解一本通題 1117:整數去重C++
- 南沙C++信奧賽陳老師解一本通題 1270:【例9.14】混合揹包C++
- 南沙C++信奧賽陳老師解一本通題 2099:【23CSPJ普及組】公路(road)C++
- 南沙C信++奧賽陳老師解一本通題: 1314:【例3.6】過河卒(Noip2002)
- 南沙C++信奧賽陳老師解一本通題 1345:【例4-6】香甜的黃油C++
- 南沙C++信奧賽陳老師解一本通題 1230:尋找平面上的極大點C++
- 南沙C++信奧賽陳老師解一本通題 1950:【10NOIP普及組】接水問題C++
- 南沙C++信奧賽陳老師解一本通題 1984:【19CSPJ普及組】紀念品C++