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 }