Chinaunix首页 | 论坛 | 博客
  • 博客访问: 13877
  • 博文数量: 12
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2016-11-18 23:11
文章分类

全部博文(12)

文章存档

2017年(11)

2016年(1)

我的朋友

分类: 高性能计算

2017-03-02 23:28:18

题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数。 

package main

import (
    "fmt"
)

func div(x int) bool {
    var b int
    a := []int{}

    for i := 1; i <= x/2; i++ {
        if x%i == 0 {
            a = append(a, i)
        }
    }
    for _, num := range a {
        b += num
    }
    if b == x {
        return true
    } else {
        return false
    }
}

func main() {
    for i := 2; i <= 1000; i++ {
        if ok := div(i); ok {
            fmt.Printf("%d ", i)
        }
    }
}
运行结果:
6 28 496
阅读(505) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~