এই সমস্যায়, আমাদের তিনটি সংখ্যা দেওয়া হয়েছে N, K এবং R। আমাদের কাজ হল প্রাকৃতিক সংখ্যাগুলির যোগফল (N পর্যন্ত) খুঁজে বের করার জন্য একটি প্রোগ্রাম তৈরি করা যার মডিউল K সহ ফলন R.
আমরা N-এর চেয়ে কম সমস্ত সংখ্যা যোগ করব যা নিম্নলিখিত শর্ত পূরণ করে, i%K ==R.
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
ইনপুট
N = 14, K = 4, R = 1
আউটপুট
28
ব্যাখ্যা − N-এর চেয়ে ছোট সমস্ত সংখ্যা, যেগুলিকে 4 দিয়ে ভাগ করলে অবশিষ্ট 1 দেওয়া হয় 1, 5, 9, 13৷
এই সমস্যাটি সমাধান করার জন্য, আমরা R থেকে N তে লুপ করব, এবং K দ্বারা মান বৃদ্ধি করব। যাতে আমরা প্রদত্ত শর্ত পূরণ করে এমন জোড় সংখ্যা পাব। এবং যোগফল যোগ করুন.
এখানে, আমরা একটি ব্যবধান হিসাবে 1 সহ সাধারণ লুপ ব্যবহার করতে পারতাম। কিন্তু আমরা এটি কম সময় ব্যয় করার আগে এটি ব্যবহার করেছি৷
উদাহরণ
সমাধান চিত্রিত করার জন্য প্রোগ্রাম,
#include <iostream> using namespace std; int CalcSumofRem(int N, int K, int R){ int sum = 0; for (int i = R; i <= N; i+= K) { if (i % K == R) sum += i; } return sum; } int main(){ int N = 14, K = 4, R = 1; cout<<"Sum of natural numbers (up to "<<N<<") whose modulo with "<<K<<" yields "<<R<<" is "<<CalcSumofRem(N, K, R); return 0; }
আউটপুট
Sum of natural numbers (up to 14) whose modulo with 4 yields 1 is 28