Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Membahagikan Nombor Sangat Besar dalam Go Menggunakan `big.Int`?

Bagaimanakah Saya Boleh Membahagikan Nombor Sangat Besar dalam Go Menggunakan `big.Int`?

Barbara Streisand
Barbara Streisandasal
2024-10-28 02:34:30722semak imbas

How Can I Divide Extremely Large Numbers in Go Using `big.Int`?

Membahagikan Nombor Besar dalam Go Menggunakan Integer Besar

Masalah membahagi nombor yang sangat besar dalam Go timbul apabila berurusan dengan nilai yang melebihi kapasiti jenis integer standard. Dalam contoh ini, jenis big.Int daripada pakej "matematik/besar" menawarkan penyelesaian.

Cara Membahagi Nombor Besar dengan besar.Int

Untuk membahagi nombor besar menggunakan big.Int, ikut langkah berikut:

<code class="go">package main

import (
    "fmt"
    "math/big"
)

func main() {
    // Initialize
    first := new(big.Int).MulRange(1, 50)
    second := new(big.Int).MulRange(1, 18)
    
    // Divide
    dv := new(big.Int).Div(first, second)
    
    // Print
    fmt.Printf("First: %s \n", first.String())
    fmt.Printf("Second: %s \n", second.String())
    fmt.Printf("Division result: %s \n", dv.String())
}</code>

Penjelasan:

  1. Import pakej "matematik/besar".
  2. Memulakan dua pembolehubah besar.Int (pertama dan kedua) dengan nombor yang diberikan menggunakan MulRange, yang mengira faktorial untuk julat integer.
  3. Gunakan kaedah Div of big.Int untuk membahagikan dahulu dengan saat, menyimpan hasil dalam pembolehubah dv.
  4. Cetak nombor asal dan hasil bahagi menggunakan kaedah String, yang menukar nilai besar.Int kepada rentetan.

Contoh Output :

First: 30414093201713378043612608166064768844377641568960512000000000000
Second: 6402373705728000
Division result: 4750440164794325701367714688167999176704000000000

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membahagikan Nombor Sangat Besar dalam Go Menggunakan `big.Int`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn