এই সমস্যায়, আমাদের দুটি সংখ্যা দেওয়া হয়েছে, এন এবং ডি। আমাদের কাজ হল একটি সি++ এ মডুলো বা % অপারেটর ব্যবহার না করে অবশিষ্ট খোঁজার প্রোগ্রাম তৈরি করা .
সমস্যা বর্ণনা − N সংখ্যাটিকে D দ্বারা ভাগ করার পর যে অবশিষ্টাংশ অবশিষ্ট থাকবে তা আমাদের খুঁজে বের করতে হবে৷ কিন্তু আমরা এর জন্য মডিউল বা % অপারেটর ব্যবহার করতে পারি না৷
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক
ইনপুট
N = 53 D = 3
আউটপুট
2
সমাধান পদ্ধতি
অবশিষ্টাংশ খুঁজে বের করার জন্য, একটি সহজ পদ্ধতি হল N-এর থেকে কম সংখ্যাটি খুঁজে বের করা যা D-এর গুণিতক। এবং N থেকে সংখ্যাটিকে সাবস্ট্রেট করে। অবশিষ্টাংশ ফেরত দিতে।
আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম
উদাহরণ
#include <iostream>
using namespace std;
int findRem(int N, int D) {
int i ;
for(i = 0; ;i++) {
if(D * i >= N)
break;
}
return N - (D * (i-1));
}
int main(){
int N = 45, D = 6 ;
cout<<"The remainder after dividing "<<N<<" by "<<D<<" is"<<findRem(N, D);
return 0;
} আউটপুট
The remainder after dividing 45 by 6 is 3
আরেকটি সমাধান হল বিভাজনের ভাগফলের পূর্ণসংখ্যার মান ব্যবহার করে যা সরাসরি C++ এ একটি int মান শুরু করে বের করা যেতে পারে। তারপর এটিকে D দিয়ে গুণ করলে এবং N থেকে মান বিয়োগ করলে অবশিষ্ট পাওয়া যায়।
আমাদের সমাধানের কাজটি চিত্রিত করার জন্য প্রোগ্রাম
উদাহরণ
#include <iostream>
using namespace std;
int findRem(int N, int D) {
int Q = N/D;
int R = N - (D * Q);
return R;
}
int main(){
int N = 45, D = 6 ;
cout<<"The remainder after dividing "<<N<<" by "<<D<<" is"<<findRem(N, D);
return 0;
} আউটপুট
The remainder after dividing 45 by 6 is 3