ধরুন আমাদের একটি সংখ্যা n আছে। বিবেচনা করুন, প্রথম n প্রাকৃতিক সংখ্যা. আমাদের এগুলিকে দুটি সেট A এবং B এ বিভক্ত করতে হবে যাতে প্রতিটি উপাদান ঠিক একটি সেটের অন্তর্গত হয় এবং A তে উপাদানের যোগফল এবং B তে উপাদানগুলির যোগফলের মধ্যে পরম পার্থক্য ন্যূনতম হয় এবং সেই পার্থক্যটি খুঁজে বের করুন৷
সুতরাং, যদি ইনপুটটি n =5 এর মত হয়, তাহলে আউটপুট হবে 1, কারণ আমরা যদি A ={1, 3, 4} এবং B ={2, 5} করি, তাহলে যোগফলের মান 8 এবং 7 হবে, তাই পার্থক্য হল 1.
পদক্ষেপ
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
return (n * (n + 1) / 2) mod 2
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
#include <bits/stdc++.h> using namespace std; int solve(int n) { return (n * (n + 1) / 2) % 2; } int main() { int n = 5; cout << solve(n) << endl; }
ইনপুট
5
আউটপুট
1