প্রদত্ত কাজটি হল সর্বাধিক সংখ্যক লোককে খুঁজে বের করা যাকে শক্তি দিয়ে হত্যা করা যেতে পারে P. অসীম মানুষের সাথে একটি সারি বিবেচনা করুন এবং তাদের প্রত্যেকের একটি সূচক সংখ্যা 1 থেকে শুরু হয়।
s th এর শক্তি ব্যক্তিকে s 2 দ্বারা প্রতিনিধিত্ব করা হয় . একজন মানুষকে মেরে ফেলার পর আপনার শক্তিও কমে যায়।
আসুন এখন বুঝতে পারি একটি উদাহরণ ব্যবহার করে আমাদের কী করতে হবে −
ইনপুট
P = 20
আউটপুট
3
ব্যাখ্যা
Strength of 1st person = 1 * 1 = 1 < 20, therefore 1st person can be killed. Remaining strength = P – 1 = 20 – 1 = 19 Strength of 2nd person = 2 * 2 = 4 < 19, therefore 2nd person can be killed. Remaining strength = P – 4 = 19 – 4 = 15 Strength of 3rd person = 3 * 3 = 9 < 15, therefore 3rd person can be killed. Remaining strength = P – 9 = 15 – 9 = 6 Strength of 4th person = 4 * 4 = 16 > 6, therefore 4th person cannot be killed. Output = 3
ইনপুট
30
আউটপুট
4
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
-
main() ফাংশনে int-এর P =30 আরম্ভ করে কারণ এটি শক্তি সঞ্চয় করবে এবং Max() ফাংশনে পাসিট করবে।
-
Max() ফাংশনে s =0 এবং P =0 উভয় প্রকার int-এর শুরু করুন।
-
j =1 থেকে j * j <=P
পর্যন্ত লুপ -
s =s + (j * j) রাখুন এবং যদি s <=P উত্তরে 1 যোগ করুন, অন্যথায় বিরতি দিন;
-
উত্তর দিন।
উদাহরণ
#include <bits/stdc++.h> using namespace std; int Max(int P){ int s = 0, ans = 0; for (int j = 1; j * j <= P; j++){ s = s + (j * j); if (s <= P) ans++; else break; } return ans; } //main function int main(){ //Strength int P = 30; cout << “Maximum number of people that can be killed with strength P are: ”<<Max(P); return 0; }
আউটপুট
Maximum number of people that can be killed with strength P are: 4