首页 > 移动平台 > 详细

Integer Approximation(分治+枚举)

时间:2019-12-22 21:33:58      阅读:99      评论:0      收藏:0      [点我收藏+]

Integer Approximation

https://vjudge.net/problem/POJ-1650

直接暴力枚举每个数,得出最接近的两个整数

#include<stdio.h>
#include<iostream>
#include<map>
#include<string.h>
#include<vector>
#include<math.h>
using namespace std;
//1 <= L <= 100000
int main()
{
    double num;
    double maxn;
    while(~scanf("%lf%lf",&num,&maxn))
    {
        double left=1;
        double right=1;
        double minn=9999999999;
        double mina=0;
        double minb=0;
        while(left<=maxn&&right<=maxn)
        {
            if(left/right>num)
            {
                if(fabs(left/right-num)<minn)
                {
                    minn=fabs(left/right-num);
                    mina=left;
                    minb=right;
                   // cout<<minn<<" "<<mina<<" "<<minb<<endl;
                }
                right++;
            }
            else
            {
                if(fabs(left/right-num)<minn)
                {
                    minn=fabs(left/right-num);
                    mina=left;
                    minb=right;
                   // cout<<minn<<" "<<mina<<" "<<minb<<endl;
                }
                left++;
            }
           // cout<<left<<" "<<right<<endl;
        }
       cout<<mina<<" "<<minb<<endl;
    }
    return 0;
}

  

Integer Approximation(分治+枚举)

原文:https://www.cnblogs.com/RainzzZ/p/12080851.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!