এই নিবন্ধে, আমরা বুঝব কিভাবে পুনরাবৃত্তি ব্যবহার করে একটি সংখ্যার ফ্যাক্টরিয়াল খুঁজে বের করতে হয়। একটি সংখ্যার ফ্যাক্টরিয়াল হল তার প্রতিটি নিম্ন সংখ্যার সাথে নিজের গুণফল। ফ্যাক্টরিয়াল হল একটি ফাংশন যা শূন্যের চেয়ে বড় প্রাকৃতিক সংখ্যায় প্রয়োগ করা হয়। ফ্যাক্টোরিয়াল ফাংশনের জন্য প্রতীক হল একটি সংখ্যার পরে একটি বিস্ময় চিহ্ন, যেমন:5!
একটি পুনরাবৃত্ত ফাংশন এমন একটি ফাংশন যা একটি নির্দিষ্ট শর্ত সন্তুষ্ট না হওয়া পর্যন্ত নিজেকে একাধিকবার কল করে। Recursion হল একটি স্ব-অনুরূপ উপায়ে আইটেম পুনরাবৃত্তি করার প্রক্রিয়া। প্রোগ্রামিং ভাষায়, যদি একটি প্রোগ্রাম আপনাকে একই ফাংশনের ভিতরে একটি ফাংশন কল করার অনুমতি দেয়, তাহলে তাকে ফাংশনের একটি পুনরাবৃত্ত কল বলা হয়।
অনেক প্রোগ্রামিং ল্যাঙ্গুয়েজ স্ট্যাকের মাধ্যমে পুনরাবৃত্তি বাস্তবায়ন করে। সাধারণত, যখনই একটি ফাংশন (কলার) অন্য একটি ফাংশন (ক্যালি) বা নিজেকে কলী হিসাবে কল করে, কলারের ফাংশনটি এক্সিকিউশন কন্ট্রোল ক্যালিতে স্থানান্তর করে। এই স্থানান্তর প্রক্রিয়ায় কিছু ডেটাও অন্তর্ভুক্ত থাকতে পারে যা কলার থেকে কলকারীর কাছে পাঠানো হয়৷
নীচে একই -
এর একটি প্রদর্শন রয়েছে৷ইনপুট
ধরুন আমাদের ইনপুট হল −
Enter the number : 7
আউটপুট
কাঙ্খিত আউটপুট হবে −
The factorial of 7 is 5040
অ্যালগরিদম
Step 1 - START Step 2 - Declare an integer values namely ‘my_input’ and a long value namely ‘my_result’ Step 3 - Read the required values from the user/ define the values Step 4 - A recursive function ‘factorial’ is defined which takes an integer as input and returns the product of the input and its previous number until the input value is reduced to 1. Step 5 - The recursive function is called and the value ‘my_input’ is passed to it. Store the return value Step 6 - Display the result Step 7 - Stop
উদাহরণ 1
এখানে, একটি প্রম্পটের উপর ভিত্তি করে ব্যবহারকারী দ্বারা ইনপুট প্রবেশ করানো হচ্ছে। আপনি আমাদের কোডিং গ্রাউন্ড টুলে এই উদাহরণটি লাইভ চেষ্টা করতে পারেন ।
import java.util.Scanner; public class Factorial { public static void main(String[] args) { int my_input ; long my_result; System.out.println("Required packages have been imported"); Scanner my_scanner = new Scanner(System.in); System.out.println("A reader object has been defined "); System.out.print("Enter the number : "); my_input = my_scanner.nextInt(); my_result = factorial(my_input); System.out.println("The factorial of " + my_input + " is " + my_result); } public static long factorial(int my_input){ if (my_input >= 1) return my_input * factorial(my_input - 1); else return 1; } }
আউটপুট
Required packages have been imported A reader object has been defined Enter the number : 7 The factorial of 7 is 5040
উদাহরণ 2
এখানে, পূর্ণসংখ্যা পূর্বে সংজ্ঞায়িত করা হয়েছে, এবং এর মান অ্যাক্সেস করা হয়েছে এবং কনসোলে প্রদর্শিত হয়েছে।
public class Factorial { public static void main(String[] args) { int my_input ; long my_result; my_input = 7; System.out.println("The number is defined as " +my_input); my_result = factorial(my_input); System.out.println("The factorial of " + my_input + " is " + my_result); } public static long factorial(int my_input){ if (my_input >= 1) return my_input * factorial(my_input - 1); else return 1; } }
আউটপুট
The number is defined as 7 The factorial of 7 is 5040