محاسبه فاکتوریل و سری فیبوناچی اعداد خیلی بزرگ!
محاسبه فاکتوریل و سری فیبوناچی اعداد خیلی بزرگ!
منتها این روش برای اعداد بزرگ جواب نمیده چون غالبا عدد تولیدی خیلی بزرگ میشه و از محدوده کلیه DataType ها خارج میشه.
اخیرا به حول و قوه شرکت مایکروسافت، نوع جدیدی از Data Type به نام BigInteger اومده که ما رو قادر می کنه اعداد خیلی بزرگ رو هم در محاسبه شرکت بدیم.
ابتدا رفرنس های لازم:
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Numerics;
سپس یه کلاس ساده:
{
public static IEnumerable<BigInteger> BigFib(Int64 toNumber)
{
BigInteger previous = 0;
BigInteger current = 1;
for (Int64 y = 1; y <= toNumber; y++)
{
var auxiliar = current;
current += previous;
previous = auxiliar;
yield return current;
}
}
public static IEnumerable<BigInteger> BigFact(Int64 toNumber)
{
BigInteger i = 0;
BigInteger fact = 1;
if (toNumber <= 1)
{
yield return 1;
}
else
{
for (i = 1; i <= toNumber; i++)
{
fact *= i;
}
yield return fact;
}
}
}
}
{
var num = Convert.ToInt32(txtNumber.Text);
var fib = CFibonacci.BigFib(num).Last();
txtFib.Text = fib.ToString();
var fact = CFibonacci.BigFact(num).Last();
txtFact.Text = fact.ToString();
}
Developer Programmer- کاربر خوب لاک پشتی
- تشکر : 88
رد: محاسبه فاکتوریل و سری فیبوناچی اعداد خیلی بزرگ!
MohammadRN- مدیرکل گفتگوی لاک پشتی
-
تشکر : 144
رد: محاسبه فاکتوریل و سری فیبوناچی اعداد خیلی بزرگ!
Foad- حامی حیوانات لاک پشتی
- تشکر : 243
رد: محاسبه فاکتوریل و سری فیبوناچی اعداد خیلی بزرگ!
MohammadRN- مدیرکل گفتگوی لاک پشتی
-
تشکر : 144
» تجربه ی خیلی خیلی تلخ (ازدست دادن یک دوست)
» میگو (نامناسب برای لاک پشت)
» خیلی خیلی فوری(بیماری باجریگار)
» شكلات توانایی محاسبه ذهنی را افزایش میدهد