원통형 물탱크의 반지름과 높이가 주어지면 반지름과 물의 부피가 'n'개 있는 구형의 고체 볼이 주어지고 작업은 볼을 탱크에 담그었을 때 탱크가 넘칠지 여부를 확인하는 것입니다. .
체적 계산 공식
실린더
3.14 * r * r * h
여기서, r은 탱크의 반경이고 h는 탱크의 높이입니다.
구
(4/3) * 3.14 * R * R * R
여기서, R은 구형 볼의 반경입니다.
입력
tank_height = 5 tank_radius = 2 water_volume = 10 capacity = 10 ball_radius = 2
출력
It will overflow
아래에 사용된 접근 방식은 다음과 같습니다.
-
탱크의 반경, 탱크의 높이, 담그는 볼의 수 및 여기의 반경과 같은 주어진 치수를 입력하십시오
-
공식을 적용하여 탱크의 용량(부피) 계산
-
공식을 적용하여 구의 부피 계산
-
공이 물 탱크에 담글 때마다 부피가 증가하므로 물의 부피를 계산합니다.
-
물의 부피와 구의 부피를 더하여 총 부피를 계산합니다.
-
탱크가 넘칠지 여부를 나타내는 조건을 확인하십시오.
-
총 부피가 용량보다 크면 탱크가 넘칠 것입니다.
-
총 부피가 용량보다 적으면 탱크가 넘치지 않습니다.
-
알고리즘
Step 1→ declare function to check whether tank will overflow or not void overflow(int H, int r, int h, int N, int R) declare float tank_cap = 3.14 * r * r * H declare float water_vol = 3.14 * r * r * h declare float balls_vol = N * (4 / 3) * 3.14 * R * R * R declare float vol = water_vol + balls_vol IF (vol > tank_cap) Print it will overflow End Else Print No it will not overflow End Step 2→ In main() Declare int tank_height = 5, tank_radius = 2, water_volume = 10, capacity = 10, ball_radius = 2 call overflow(tank_height, tank_radius, water_volume, capacity, ball_radius)
예시
#include <bits/stdc++.h> using namespace std; //check whether tank will overflow or not void overflow(int H, int r, int h, int N, int R){ float tank_cap = 3.14 * r * r * H; float water_vol = 3.14 * r * r * h; float balls_vol = N * (4 / 3) * 3.14 * R * R * R; float vol = water_vol + balls_vol; if (vol > tank_cap){ cout<<"it will overflow"; } else{ cout<<"No it will not overflow"; } } int main(){ int tank_height = 5, tank_radius = 2, water_volume = 10, capacity = 10, ball_radius = 2; overflow(tank_height, tank_radius, water_volume, capacity, ball_radius); return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
It will overflow