概述
一个丑陋的数字是指其质因数仅限于2,3和5的数字。
给定一个数字,n如果是一个丑陋的数字,则返回真,否则返回假。
例子1
Input: 12
Output: true
例子2
Input: 7
Output: false
思路是这样的
-
当该数是2的因子时,继续用2除以该数。
-
当数字是3的因数时,继续除以3
-
当数字是5的工厂时,继续除以5
最后,如果数字等于1,则返回true,否则返回false。
程序
以下是相同的程序
package main
import "fmt"
func isUgly(n int) bool {
if n == 0 {
return false
}
if n == 1 {
return true
}
for {
if n%2 != 0 {
break
}
n = n / 2
}
for {
if n%3 != 0 {
break
}
n = n / 3
}
for {
if n%5 != 0 {
break
}
n = n / 5
}
return n == 1
}
func main() {
output := isUgly(12)
fmt.Println(output)
output = isUgly(7)
fmt.Println(output)
}
输出
true
false
注意 :请查看我们的Golang高级教程。这个系列的教程是精心设计的,我们试图用例子来涵盖所有的概念。本教程是为那些希望获得专业知识和扎实了解Golang的人准备的 -Golang高级教程