github.com/maikovskiys/l1tasks@v0.0.0-20230927052451-6436d7687dc9/develop/dev22/main.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"math"
     6  	"math/big"
     7  )
     8  
     9  /*
    10  Разработать программу, которая перемножает, делит, складывает, вычитает две числовых переменных a,b, значение которых > 2^20.
    11  */
    12  
    13  func main() {
    14  	a := math.Pow(2, 21)
    15  	b := math.Pow(3, 22)
    16  	bigA := big.NewInt(int64(a))
    17  	bigB := big.NewInt(int64(b))
    18  
    19  	fmt.Println(multiply(bigA, bigB))
    20  	fmt.Println(div(bigA, bigB))
    21  	fmt.Println(sum(bigA, bigB))
    22  	fmt.Println(sub(bigA, bigB))
    23  
    24  }
    25  func sum(a, b *big.Int) *big.Int {
    26  	res := &big.Int{}
    27  	res.Add(a, b)
    28  	return res
    29  }
    30  func sub(a, b *big.Int) *big.Int {
    31  	res := &big.Int{}
    32  	res.Sub(a, b)
    33  	return res
    34  }
    35  func multiply(a, b *big.Int) *big.Int {
    36  	res := &big.Int{}
    37  	res.Mul(a, b)
    38  	return res
    39  }
    40  func div(a, b *big.Int) *big.Int {
    41  	res := &big.Int{}
    42  	res.Div(b, a)
    43  	return res
    44  }