এখানে আমরা দেখব কিভাবে একটি সি প্রোগ্রাম লিখতে হয় যা কোনো লুপ ব্যবহার না করেই ১ থেকে ১০০ পর্যন্ত সংখ্যা প্রিন্ট করবে।
এই সমস্যাটি রিকার্শন (recursion) ব্যবহার করে সমাধান করা যায়। আমরা একটি ফাংশন তৈরি করব যা রিকার্সিভলি কল হবে। যেহেতু আমরা জানি একটি রিকার্সিভ ফাংশনের মূলত দুটি অংশ থাকে। বেস কেস (base case) এবং রিকার্সিভ কল ও অন্যান্য অপারেশন। এই ফাংশনে বেস কেস হলো আর্গুমেন্ট n ১ থেকে বড়। যতক্ষণ এটি ১ পর্যন্ত পৌঁছায় না, ফাংশনটি রিকার্সিভলি কল হবে। এখন শেষে এটি n-এর মান প্রিন্ট করবে। এইভাবে পুরো সিস্টেম সংখ্যাগুলো জেনারেট করবে।
উদাহরণ কোড
#include <stdio.h>
void generate_numbers(int n) {
if(n > 1) {
generate_numbers(n - 1); // n-1 আর্গুমেন্ট দিয়ে ফাংশন কল
}
printf("%d ", n);
}
main() {
generate_numbers(100);
}
আউটপুট
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100