747A Display Size

来源:互联网 发布:mysql 查询成绩最高分 编辑:程序博客网 时间:2024/06/06 09:02

题目链接:

http://codeforces.com/problemset/problem/747/A

题解:

题目大意:
给出一个数,让你求出两个数相互最接近,并且他们的乘积为n。
直接用sqrt开根号以后,再向两边开始取值即可。

代码:

#include <cmath>#include <cstdio>#include <queue>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define met(a,b) memset(a,b,sizeof(a))#define inf 0x3f3f3f3fint n;int main(){    cin>>n;    int m=sqrt(n);    if(m*m==n)        cout<<m<<" "<<m<<endl;    else    {        int num1=floor(sqrt(n));        int num2=ceil(sqrt(n));        int flag=0;        for(int i=num1;i>0;i--)        {            for(int j=num2;j<=n;j++)                if(i*j==n)                {                    cout<<i<<" "<<j<<endl;                    flag=1;                    break;                }            if(flag)                break;        }    }}
0 0
原创粉丝点击