• System.OverflowException
  • BigInteger
  • System.Numerics.dll
  • Visual Studio da NET FRAMEWORK 4.0 o‘rnatilmagan yoki bizning Visual Studio
  • “using System.Numerics;”
  •  Katta sonlarni faktorialini hisoblash




    Download 6,33 Mb.
    Pdf ko'rish
    bet81/194
    Sana20.02.2024
    Hajmi6,33 Mb.
    #159185
    1   ...   77   78   79   80   81   82   83   84   ...   194
    4.3. Katta sonlarni faktorialini hisoblash 
    Agar biz yuqoridagi dasturdagi n ning qiymatiga katta sonni kiritsak, masalan 
    n=100 
    bo‘lsa, 
    shu 
    sonni 
    faktorialini 
    hisoblashni 
    so‘rasak, 
    biz 
    System.OverflowException natija olamiz, ya’ni qiymat decimal tipidan ham oshib 
    ketadi.


    Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
    136 
    Demak biz bu kabi misollarni yechishda bu dastur kodini qo‘llay olmaymiz.
    Agar biz 100! ni hisoblashni xoxlasak BigInteger tipidan foydalanamiz (.NET
    Framework 4.0 versiyasida bor boshqa versiyalarida mavjud emas). Bu tip butun 
    tipning (int) kengaytirilgan varianti bo‘lib ( 100,000 ta raqamdan iborat), u juda 
    katta. Ushbu BigInteger klassida cheklanmagan miqdordagi raqamlar yozilgan. 
    BigInteger dan foydalanish uchun, biz o‘z loyihamizdan add a reference ni 
    tanlash orqali System.Numerics.dll kutubxonani qo‘shishimiz kerak (bu juda katta 
    sonlar bilan ishlashdagi .NET kutubxonasini standarti bo‘lib, VS loyihasida bu ishni bu 
    kutubxonani qo‘shmasdan bajarib bo‘lmaydi) . Visual Studio dagi Solution Explorer 
    oynasidan sichqonchaning o‘ng tugmasini bosib, Adding a reference ni tanlaymiz va 
    u quyidagicha: 
    Biz ro‘yxatdan assembly System.Numerics.dll kutubxonani topamiz va 
    tanlaymiz: 


    Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
    137 
    Agar biz bu kutubxonani topa olmasak, bu shuni anglatadiki Visual Studio da 
    NET FRAMEWORK 4.0 o‘rnatilmagan yoki bizning Visual Studio eski versiyadir va 
    versiyasini yangi versiyaga almashtirishimiz kerak.


    Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
    138 
    So‘ngra biz “using System.Numerics;”ni qo‘shishimiz zarur, shunda decimal
    o‘rnini BigInteger egallaydi. Dastur esa quyidagicha bo‘ladi: 
    Yuqoridagi dastur natijasi n=100 bo‘lsa, 100! ning qiymatini quyidagicha 
    olamiz, natijada 158-xonali son hosil bo‘ladi. 

    Download 6,33 Mb.
    1   ...   77   78   79   80   81   82   83   84   ...   194




    Download 6,33 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



     Katta sonlarni faktorialini hisoblash

    Download 6,33 Mb.
    Pdf ko'rish