در این جلسه تیم کدگیت را با آموزش دنباله پادوان در سی شارپ همراهی کنید. دنباله پادوان یکی از دنبالههای مشابه با سری فیبوناچی میباشد اما شروط پایه این دو متفاوت است. این آموزش به توضیح دنباله پادوان پرداخته سپس این دنباله را در سی شارپ پیاده سازی میکنیم. پیشنیازهای این آموزش به صورت زیر میباشد:
دنباله پادوان
قبل از پیاده سازی دنباله پادوان توضیح مختصری در مورد این دنباله میدهیم. دنباله پادوان بسیار شبیه به سری فیبوناچی است و در شرط پایه با یکدیگر متفاوت هستند. فرمول این دنباله به صورت زیر است:
P(n) = P(n-2) + P(n-3)
P(0) = P(1) = P(2) = 1
حال فرض کنید n=3 باشد پس فرمول بالا به صورت زیر تغییر میکند.
P(3) = P(1) + P(0) = 2
برای n = 4 به همین ترتیب محاسبه میکنیم:
P(4) = P(2) + P(1) = 2
به طور کلی اعداد دنباله پادوان به صورت زیر میباشد:
1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37,…
دنباله پادوان در سی شارپ
برای پیادهسازی دنباله پادوان ما از یک متد استفاده کردیم. در این متد سه عدد قبل دنباله را درون سه متغیر (pPrevPrev، pPrev، pCurr) ذخیره میکنیم. با استفاده از این سه متغیر عدد بعدی دنباله را پیدا میکنیم. ورودی متد ما همان n در فرمول بالا است(عددی که میخواهیم دنباله آن را پیدا کنیم). کد این متد به صورت زیر است:
static int pad(int n)
{
int pPrevPrev = 1, pPrev = 1,
pCurr = 1, pNext = 1;
for (int i = 3; i <= n; i++) {
pNext = pPrevPrev + pPrev;
pPrevPrev = pPrev;
pPrev = pCurr;
pCurr = pNext;
}
return pNext;
}
برای استفاده از کد بالا باید یک Main به صورت زیر بنویسیم:
public static void Main (string[] args)
{
int n = 12;
Console.WriteLine(pad(n));
Console.ReadKey ();
}
خروجی کد بالا عدد 21 است.