এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখব যা দেওয়া সংখ্যার ডিজিটগুলো যোগ করবে যতক্ষণ না সেটি একক ডিজিট হয়ে যায়। একটি উদাহরণ দেখি।
ইনপুট - 4543
আউটপুট - 7
সমস্যাটি সমাধানের ধাপগুলো:
- একটি সংখ্যা ইনিশিয়ালাইজ করুন।
- সমকে ০ ইনিশিয়ালাইজ করুন।
- সম ৯-এর চেয়ে ছোট হলে পর্যন্ত ইটারেট করুন।
- মডুলো অপারেটর ব্যবহার করে সংখ্যার প্রতিটি ডিজিট সমে যোগ করুন।
- সম প্রিন্ট করুন।
উদাহরণ
কোডটি দেখি।
#include <bits/stdc++.h>
using namespace std;
void findTheSingleDigit(int n) {
int sum = 0;
while (n > 0 || sum > 9) {
if (n == 0) {
n = sum;
sum = 0;
}
sum += n % 10;
n /= 10;
}
cout << sum << endl;
}
int main() {
int n = 4543;
findTheSingleDigit(n);
return 0;
}
আউটপুট
7
এই সমস্যা সমাধানের আরেকটি সহজ পদ্ধতি আছে। যদি দেওয়া সংখ্যা ৯ দ্বারা ভাগযোগ্য হয়, তবে উত্তর ৯। অন্যথায় উত্তর n % 9।
উদাহরণ
কোডটি দেখি।
#include <bits/stdc++.h>
using namespace std;
void findTheSingleDigit(int n) {
if (n == 0) {
cout << 0;
} else if (n % 9 == 0) {
cout << 9 << endl;
} else {
cout << n % 9 << endl;
}
}
int main() {
int n = 4543;
findTheSingleDigit(n);
return 0;
}
আউটপুট
7
উপসংহার
টিউটোরিয়ালে যদি কোনো প্রশ্ন থাকে, তবে কমেন্ট সেকশনে জানান।