Sign-up....

一道ACM题,有兴趣的来看看

A fracion a/b(a < b) can be expressed in the way 1/b1 + 1/b2 + ... + 1/bn. Now can you achieve it and make the sum of b1 to bn minimum?

(一个分数可以表示成1/b1+...+1/bn.现在让你求一个这样的序列使得bi之和最小)

Input and Output

For each case there are tow positive intergers a and b( 0 < a < b <= 100), output the minimum sum.

Sample Input

2 3

3 4

4 15

Sample Output

6

6

16

Hint: 2/3 = 1/3 + 1/3, 4/15 = 1/6 + 1/10

[391 byte] By [msdn] at [2007-8-14 20:04:55]
# 1 Re: 一道ACM题,有兴趣的来看看

算法问题,及数学问题!

nieweifeng2005 at 2005-6-21 0:25:59 >
# 2 Re: 一道ACM题,有兴趣的来看看

敢问各位大哥Acm是啥意思啊

Q19830409 at 2005-6-21 0:34:06 >
# 3 Re: 一道ACM题,有兴趣的来看看

类似于 4 15 这样的输入,我给出这样的思路:

1、求4 和 15 的最大公约数,这里等于1。如果是4和6输入那我们得到2/3。

2、分子分母同乘以分子这里得到 (4*4)/(15*4)=16/60

3、此时分解分子为两整数的和:16可以分为: 1+15 2+14 3+13 4+12 5+11 6+10 7+9 8+8

4、得到这些对中两个部分都可以完全整除分母的对:

6+10 :60/6=10 60/10=6

4+12 :60/4=15 60/12=5

5、找出和最小的:10+6=16 15+5=20 结果为 10 6

....

arden1019 at 2005-6-21 9:11:23 >
# 4 Re: 一道ACM题,有兴趣的来看看

如果存在两个数a/b, 使得1/a + 1/b = 1/c则 c < (a + b).

解决这道题目的方法可以:

1. 找出全部1-100之间1/a + 1/b = 1/c 的a/b对.

2. 分解x/y到1/y + 1/y.... + 1/y, 合并这些可以合并的项, 如:1/4+1/4 = 1/2

3. 重复2, 直到不可分解.

4. 求出Sum

没有时间证明这种方法肯定是正确的, 权做抛砖引玉吧.

感觉这道题目的算法应该是O(n)的.

mbcw at 2005-6-21 13:25:54 >
# 5 Re: 一道ACM题,有兴趣的来看看
同意arden1019的看法
bingbox_1984 at 2005-06-21 22:40:00 >

C/C++

All Classified