回文数就是从前往后读和从后往前读都一样的数。由两个位数相乘得到的最大的回文数是9009=91*99 。 package main import ( "fmt" "strconv" ) func huiwen(x int) int { if x < 0 { return 0 } if x < 10 { return 1 } arrX := strconv.Itoa(x) for i := 0; i < len(arrX)/2; i++ { if arrX[i] != arrX[len(arrX)-i-1] { return 0 } } return 1 } func main() { var max=0 var queue []int for i :=100;i<999;i++ { for j :=100;j<999;j++ { max = i*j if huiwen(max) == 1 { queue=append(queue,max) } } } maxVal := queue[0] for i:=1;i < len(queue);i++{ if maxVal < queue[i] { maxVal = queue[i] } } fmt.Println(maxVal) }
第四题-最大回文乘积-求由两个位数相乘得到的最大的回文数。
最新推荐文章于 2022-05-19 17:59:22 发布