7832:最接近的分数

简介: 总时间限制: 1000ms内存限制: 65536kB描述分母不超过 N 且 小于 A/B 的最大最简分数是多少?输入三个正整数N,A,B,相邻两个数之间用单个空格隔开。1 =1;B--)18 for(A=1;;A++)19 {20 ...
总时间限制: 1000ms内存限制: 65536kB
描述

分母不超过 N 且 小于 A/B 的最大最简分数是多少?

输入
三个正整数N,A,B,相邻两个数之间用单个空格隔开。1 <= A < B < N <= 1000。
输出
两个正整数,分别是所求分数的分子和分母,中间用单个空格隔开。
样例输入
100 7 13
样例输出
50 93

算法分析:枚举法

 1 #include<cstdio>
 2 double commom(double x,double y)
 3 {
 4     double m=x,n=y,r;
 5     do
 6     {
 7         r=int(m)%int(n);
 8         m=n;
 9         n=r;
10     }while(r!=0);
11     return m;
12 }
13 int main()
14 {
15     double sum,a,b,n,i,A,B,max=0,p,q;
16     scanf("%lf%lf%lf",&n,&a,&b);
17     for(B=n;B>=1;B--)
18         for(A=1;;A++)
19         {
20             if(A/B>a/b) break;
21             if(A/B>max&&A/B<a/b)
22             {
23                 max=A/B;
24                 p=A/commom(A,B);
25                 q=B/commom(A,B);
26             }
27         }
28     printf("%g %g",p,q);
29     return 0;
30 }

另一个AC代码,参考链接:http://blog.csdn.net/tigerisland45/article/details/71157783

 1 #include <iostream>  
 2 using namespace std;    
 3 int main()  
 4 {  
 5     int n, a, b, p, q, x, y;  
 6   
 7     scanf("%d%d%d", &n, &a, &b);  
 8   
 9     // 分子x从1-n,分母y从n-1;结果p/q,开始时1/n(最小值)  
10     p = 1, q = n;  
11     for(x=1; x<=n; x++)  
12         for(y=n; y>=1; y--)  
13             if(b * x < a * y && x * q > p * y)  
14                 p = x, q = y;  
15   
16     printf("%d %d\n", p, q);  
17   
18     return 0;  
19 }  

用穷举法找满足条件的最大分数。

 

相关文章
|
7月前
|
算法 数据挖掘
WinBUGS对多元随机波动率SV模型:贝叶斯估计与模型比较
WinBUGS对多元随机波动率SV模型:贝叶斯估计与模型比较
|
人工智能 数据可视化 数据挖掘
使用轮廓分数提升时间序列聚类的表现
我们将使用轮廓分数和一些距离指标来执行时间序列聚类实验,并且进行可视化
108 0
|
并行计算 算法 搜索推荐
Speccpu2017分数的一点介绍
对Spec2017的speed和rate分数做点介绍
3900 0
|
5月前
|
C++
1984. 学生分数的最小差值C++
1984. 学生分数的最小差值C++
|
6月前
分数序列
【6月更文挑战第9天】分数序列。
49 5
|
7月前
|
算法 vr&ar Python
R语言隐马尔可夫模型HMM连续序列重要性重抽样CSIR估计随机波动率模型SV分析股票收益率时间序列
R语言隐马尔可夫模型HMM连续序列重要性重抽样CSIR估计随机波动率模型SV分析股票收益率时间序列
|
7月前
|
数据可视化
R平方/相关性取决于预测变量的方差
R平方/相关性取决于预测变量的方差
LeetCode-798 得分最高的最小论调 及差分和前缀和的学习
LeetCode-798 得分最高的最小论调 及差分和前缀和的学习
|
7月前
R语言参数检验 :需要多少样本?如何选择样本数量
R语言参数检验 :需要多少样本?如何选择样本数量
|
7月前
leetcode-1984:学生分数的最小差值
leetcode-1984:学生分数的最小差值
49 0