মনে করুন, আমাদের একটি পূর্ণসংখ্যা N আছে। আমাদের বিষম স্থানের অঙ্কের যোগফল এবং সম স্থানের অঙ্কের যোগফল বের করতে হবে। তাই যদি সংখ্যাটি হয় 153654, তবে odd_sum = 9, এবং even_sum = 15।
এটি সমাধানের জন্য, আমরা শেষ অঙ্ক থেকে সব অঙ্ক বের করতে পারি। যদি মূল সংখ্যাটিতে বিষম সংখ্যক অঙ্ক থাকে, তবে শেষ অঙ্কটি অবশ্যই বিষম অবস্থানে থাকবে, অন্যথায় এটি সম অবস্থানে থাকবে। একটি অঙ্ক প্রসেস করার পর, আমরা অবস্থাটিকে বিষম থেকে সম এবং সম থেকে বিষমে পরিবর্তন করতে পারি।
উদাহরণ
#include <iostream>
using namespace std;
bool isOdd(int x) {
if (x % 2 == 0)
return false;
return true;
}
void getSum(int n) {
bool odd_check = isOdd(n);
int odd_sum = 0, even_sum = 0;
while (n != 0) {
if (odd_check)
odd_sum += n % 10;
else
even_sum += n % 10;
odd_check = !odd_check;
n /= 10;
}
cout << "Sum odd : " << odd_sum << endl;
cout << "Sum even : " << even_sum;
}
int main() {
int n = 153654;
getSum(n);
}
আউটপুট
Sum odd : 9 Sum even : 15