点击个人博客,查看更多文章https://elonjelinek.github.io/
一个数如果恰好等于它的因子和,这个数就成为完数。
例如:6 = 1 + 2 + 3。
package main
import "fmt"
func main() {
n := 1000
perfectNum(n)
}
func perfectNum(n int) {
for i := 1; i <= n; i++ {
sum := 0
for j := 1; j < i; j++ {
if i%j == 0 {
sum += j
}
}
if sum == i {
for j := 1; j < i; j++ {
if i%j == 0 {
fmt.Print(j,"+\t")
}
}
fmt.Println("=",i)
}
}
}
运行结果
1+ 2+ 3+ = 6
1+ 2+ 4+ 7+ 14+ = 28
1+ 2+ 4+ 8+ 16+ 31+ 62+ 124+ 248+ = 496
点击个人博客,查看更多文章https://elonjelinek.github.io/