在Go(Golang)中编写丑陋数字的程序

107 阅读1分钟

概述

一个丑陋的数字是指其质因数仅限于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高级教程