完全平方数(待完成)

package main

import (
	"math"
	"fmt"
)

func test(n float64) float64{
	var sum, sum2 float64
	sum = math.Sqrt(n) // 开平方
	//fmt.Println(sum)
	sum2, _ = math.Modf(sum) // 取整数
	//fmt.Println(sum2)        // 3

	ret := math.Pow(sum2, 2) // 求幂
	//fmt.Println(ret)
	return test(ret)

}


func main() {

	/*
	给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。

	示例 1:
	输入: n = 12
	输出: 3
	解释: 12 = 4 + 4 + 4.
	示例 2:

	输入: n = 13
	输出: 2
	解释: 13 = 4 + 9.
	*/

	/*
	i := -100
	fmt.Println(math.Abs(float64(i))) //绝对值
	fmt.Println(math.Ceil(5.0))       //向上取整
	fmt.Println(math.Floor(5.8))      //向下取整
	fmt.Println(math.Mod(11, 3))      //取余数,同11%3
	fmt.Println(math.Modf(5.26))      //取整数,取小数
	fmt.Println(math.Pow(3, 2))       //x的y次方
	fmt.Println(math.Pow10(4))        //10的n次方
	fmt.Println(math.Sqrt(8))         //开平方
	fmt.Println(math.Cbrt(8))         //开立方
	fmt.Println(math.Pi)
	*/

	var n, ret float64
	n = 12
	ret = n - test(n)
	fmt.Println(ret)

}

  

猜你喜欢

转载自www.cnblogs.com/yzg-14/p/12664285.html