ইনপুট হিসাবে একটি পূর্ণসংখ্যা n দেওয়া হয়েছে৷ লক্ষ্য হল দুটি বা ততোধিক ধারাবাহিক প্রাকৃতিক সংখ্যার যোগফল হিসাবে আমরা 'সংখ্যা' উপস্থাপন করতে পারি এমন উপায়গুলির সংখ্যা খুঁজে বের করা। উদাহরণস্বরূপ, যদি n 3 হয় তবে এটি যোগফল ( 1+2 ) হিসাবে উপস্থাপন করা যেতে পারে তাই মোট 1 উপায়।
উদাহরণস্বরূপ
ইনপুট
num=6
আউটপুট
Count of ways to express a number as sum of consecutive numbers are: 1
ব্যাখ্যা
The ways in which we can express ‘num’ as sum of consecutive natural numbers: 1+2+3
ইনপুট
num=19
আউটপুট
Count of ways to express a number as sum of consecutive numbers are: 1
ব্যাখ্যা
The ways in which we can express ‘num’ as sum of consecutive natural numbers: 9+10
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি −
এই পদ্ধতিতে আমরা সংখ্যাটিকে ( a + a+1 + a+2…..+ a+i) এর যোগফল হিসাবে উপস্থাপন করব।
যা হয় (a)(L+1) বার + 1+2+3+4…+i =a*(i+1) + i*(i+1)/2। (i প্রাকৃতিক সংখ্যার যোগফল) num=a*(i+1) + i*(i+1)/2.a=[ সংখ্যা − (i)*(i+1)/2] / (i+1)
আমরা এটি করব i=1 থেকে i*(i+1)/2 সংখ্যার চেয়ে কম।
-
ইনপুট হিসাবে একটি পূর্ণসংখ্যা নিন।
-
ফাংশন sum_consecutive(int num) একটি সংখ্যা নেয় এবং ধারাবাহিক প্রাকৃতিক সংখ্যার যোগফল হিসাবে 'num' প্রকাশ করার উপায়গুলির গণনা প্রদান করে।
-
0 হিসাবে প্রাথমিক গণনা নিন।
-
ফ্লোট হিসাবে অস্থায়ী পরিবর্তনশীল রেস নিন।
-
i=1 থেকে i*(i+1)/2
থেকে লুপ ট্রাভার্সের জন্য ব্যবহার করা হচ্ছে -
মান গণনা করুন [ num − (i)*(i+1)/2 ] / (i+1) এবং রেজাল্টে সংরক্ষণ করুন।
-
res যদি পূর্ণসংখ্যা হয় ( res − (int)res হয় 0 ) তাহলে ইনক্রিমেন্ট কাউন্ট।
-
শেষে আমরা এমন উপায় হিসাবে গণনা করেছি যেখানে সংখ্যাটি ধারাবাহিক প্রাকৃতিক সংখ্যার যোগফল হিসাবে উপস্থাপন করা যেতে পারে।
-
ফলাফল হিসাবে রিটার্ন গণনা।
উদাহরণ
#include <bits/stdc++.h> using namespace std; int sum_consecutive(int num){ int count = 0; int temp = num * 2; float res; for (int i = 1; i * (i + 1) < temp; i++){ int store = i + 1; res = (1.0 * num−(i * (i + 1)) / 2) / store; float check = res − (int)res; if(check == 0.0){ count++; } } return count; } int main(){ int num = 20; cout<<"Count of ways to express a number as sum of consecutive numbers are: "<<sum_consecutive(num) << endl; return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেCount of ways to express a number as sum of consecutive numbers are: 1