在Go(Golang)中将一个数字的所有组成数字相加的程序

91 阅读1分钟

概述

其目的是重复加一个数字的所有数字,直到结果只有一个数字。

比如说

Input: 453
Step 1: 4+5+3 = 12
Step 2: 1+2 =3

Output: 3

另一个例子

Input: 45
Step 1: 4+5 = 9

Output: 9

程序

下面是同样的程序

package main

import "fmt"

func addDigits(num int) int {

	if num < 10 {
		return num
	}

	for num > 9 {
		num = sum(num)
	}

	return num

}

func sum(num int) int {
	output := 0
	for num > 0 {
		output = output + num%10
		num = num / 10
	}
	return output
}

func main() {
	output := addDigits(453)
	fmt.Println(output)

	output = addDigits(45)
	fmt.Println(output)

}

输出

3
9