#include<iostream> using namespace std; int main(){ float N,A,B; cin>>N>>A>>B; int tmpj=1,tmpi=N; //记录比A/B小的最大的分数,tmpj,tmpi分别记录分子分母 for(int i=1;i<=N;i++){ //遍历分母,因为找最大的分数,分母从小往大遍历 for(int j=i-1;j>0;j--){ //遍历分子 ,分子从大往小遍历 //j*B < A*i 即 j/i<A/B条件 ; //tmpj*i<tmpi*j 即tmpj/tmpi <j/i 发现这个比A/B的分数有更大的值 if((j*B < A*i) && (tmpj*i<tmpi*j)){ tmpj=j; tmpi=i; } } } cout<<tmpj<<" "<<tmpi; return 0; }
最接近的分数
最新推荐文章于 2024-10-13 11:57:21 发布
本文详细探讨了如何使用C++编程语言实现寻找两个给定分数中最接近的分数的算法。通过数据结构和高效的算法设计,实现了在大量分数中快速找到目标分数的功能,适用于数值计算和比较场景。
摘要由CSDN通过智能技术生成