ধরি, আমাদের কাছে একটি সংখ্যা আছে যার ডিজিটগুলোর যোগফল বের করতে হবে:
int val = 789;
নিচের রিকার্সিভ ফাংশনটি সংখ্যাটি প্রক্রিয়া করে ডিজিটগুলোর যোগফল বের করে:
public int addFunc(int val) {
if (val != 0) {
return (val % 10 + addFunc(val / 10));
} else {
return 0;
}
}
সম্পূর্ণ উদাহরণ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Demo {
class MyApplication {
static void Main(string[] args) {
int val, result;
Calc cal = new Calc();
val = 789;
Console.WriteLine("Number: {0}", val);
result = cal.addFunc(val);
Console.WriteLine("Sum of Digits in {0} = {1}", val, result);
Console.ReadLine();
}
}
class Calc {
public int addFunc(int val) {
if (val != 0) {
return (val % 10 + addFunc(val / 10));
} else {
return 0;
}
}
}
}
আউটপুট
Number: 789 Sum of Digits in 789 = 24
ব্যাখ্যা: 7 + 8 + 9 = 24। রিকার্শন প্রতিবার শেষ ডিজিট নেয় (val % 10) এবং বাকি অংশকে (val / 10) আবার ফাংশনে পাস করে।