একটি বক্রাকার পানির ট্যাঙ্কের ব্যাসার্ধ ও উচ্চতা, '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 → ফাংশন ঘোষণা: 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.0/3.0) * 3.14 * R * R * R
float vol = water_vol + balls_vol
IF (vol > tank_cap)
Print "It will overflow"
ELSE
Print "No, it will not overflow"
Step 2 → 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) কল করুন
উদাহরণ কোড
#include <bits/stdc++.h>
using namespace std;
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.0/3.0) * 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