zoukankan      html  css  js  c++  java
  • Go语言求水仙花数(for循环)

    什么是水仙花数?

    水仙花数:三位数:[100,999]

    每个位上的数字的立方和,刚好等于该数字本身,那么就叫水仙花数

    比如:153

    1*1*1 + 5*5*5 + 3*3*3 = 1+125+27=153

    思考:如何分别取出三位数的百位、十位、个位?

    以268为例:

    (1)取出百位:

    268 / 100 = 2

    (2)取出个位:

    268 % 10 = 8

    (3)取出十位(两种方法):

    268 --> 268 / 10 % 10 = 6

    268 --> 268 % 100 / 10 = 6

    Go实现求水仙花数的两种方式

    第一种:

    package main
    
    import (
        "fmt"
        "math"
    )
    
    func main() {
        for i := 100; i < 1000; i++ {
            x := i / 100     //百位
            y := i / 10 % 10 //十位
            z := i % 10      //个位
            if math.Pow(float64(x), 3)+math.Pow(float64(y), 3)+math.Pow(float64(z), 3) == float64(i) {
                fmt.Println(i)
            }
        }
    }

    第二种:

    package main
    
    import "fmt"
    
    func main() {
        for a := 1; a < 10; a++ {
            for b := 0; b < 10; b++ {
                for c := 0; c < 10; c++ {
                    n := a*100 + b*10 + c*1
                    if a*a*a+b*b*b+c*c*c == n {
                        fmt.Println(n)
                    }
                }
            }
        }
    }

    最终结果

    153
    370
    371
    407

  • 相关阅读:
    双网卡主机无法管理的故障
    hosts文件导致无法访问网站
    获取webshell的十种方法
    XSS跨站攻击
    Ubuntu 使用中的问题总结
    ubuntu linux 13.04更新
    mysql root密码重置
    防火墙工作模式简介
    SE 2014年4月30日
    SE 2014年4月29日
  • 原文地址:https://www.cnblogs.com/opsprobe/p/13048051.html
Copyright © 2011-2022 走看看