题解 | #将真分数分解为埃及分数#
将真分数分解为埃及分数
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)
}
}
查看16道真题和解析