سورس کد سی شارپ تقسیم اعداد صحیح بزرگ


دات وایت | DotWhite.ir
سورس کد سی شارپ تقسیم اعداد صحیح بزرگ

در این پست از دات وایت کد سی شارپ تقسیم اعداد صحیح بزرگ را قرار داده ام که کاربران عزیز می توانند در ادامه مطلب کد را مشاهده کنند. همانطور که می دانید تقسیم اعداد در سی شارپ به صورت معمولی محدود بر اعداد با طول کمتر از 10 رقمی می باشد ولی شاید شما هم مثل من در جایی از پروژه نیاز داشته باشید که اعداد بزرگ را تقسیم کنید که در اینجاست تقسیم معمولی سی شارپ جواب گوی کار ما نیست و باید یک الگوریتم برای این کار نوشته شود کدی که در این پست قرار داده ام دقیقا یک الگوریتم ساده برای این کار است که کاربران عزیر با کمی دقت می توانند با نحوه ی کار آن آشنا بشوند.

مثال :

Input : number  = 1260257
        divisor = 37
Output : 34061
(See Post Image)

Input : number  = 12313413534672234
        divisor = 754
Output : 16330787181262

Input : number  = 1248163264128256512
        divisor = 125
Output : 9985306113026052

کد تقسیم اعداد صحیح بزرگ : 

// C# program to implement division

// with large number

using System;


class GFG

{

    // A function to perform division of large numbers

    static string longDivision(string number, int divisor)

    {

        // As result can bevery large store it in string

        string ans = "";


        // Find prefix of number that is larger

        // than divisor.

        int idx = 0;

        int temp = (int)(number[idx] - '0');


        while (temp < divisor)

        {

            temp =temp * 10 + (int)(number[idx + 1] - '0');

            idx++;

        }


       ++idx;

        // Repeatedly divide divisor with temp. After

        // every division,update temp to include one

        // more digit.

        while (number.Length >idx)

        {

            // Store result inanswer i.e. temp / divisor

            ans +=(char)(temp / divisor + '0');


            // Take next digit ofnumber

            temp =(temp % divisor) * 10 + (int)(number[idx] - '0');

            idx++;

        }


        ans += (char)(temp / divisor + '0');

        // If divisor is greater than number

        if (ans.Length == 0)

            return "0";

        // else return ans

        return ans;

    }

    // Driver code

    static void Main()

    {

        string number = "1248163264128256512";

        int divisor = 125;

        Console.WriteLine(longDivision(number,divisor));

    }

}

// This code is contributed by DotWhite.IR

خروجی:

9985306113026052

منبع : دات وایت |DotWhite.IR



تاریخ انتشار : یکشنبه 17 فروردين 1399 ساعت: 18:21 | نظرات()
برچسب ها : , , , , , , , , , , , , , , , , , , , ,

نویسنده :

بازديد : 192

موضوع: سی شارپ , کد های مفید ,

بخش نظرات این مطلب
نام
ایمیل (منتشر نمی‌شود) (لازم)
وبسایت
:) :( ;) :D ;)) :X :? :P :* =(( :O @};- :B /:) :S
نظر خصوصی
مشخصات شما ذخیره شود ؟ [حذف مشخصات] [شکلک ها]
کد امنیتیرفرش کد امنیتی