题解 | #将真分数分解为埃及分数#

将真分数分解为埃及分数

https://www.nowcoder.com/practice/e0480b2c6aa24bfba0935ffcca3ccb7b

迭代法

package main

import (
    "fmt"
)

func main() {
    var a, b int 
    for {
        _, err := fmt.Scanf("%d/%d", &a, &b)
        if err != nil {
            break
        }
        for a != 1 {
            if b % a == 0 {
                b /= a
                a = 1
                break
            }
            q := b / a 
            r := b % a 
            fmt.Printf("%d/%d+", 1, 1 + q)
            a -= r
            b *= (1 + q)
        }
        fmt.Printf("%d/%d\n", a, b)
    }
}


全部评论

相关推荐

zaakfung:26届不应该春招吗 为啥还实习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务