Codeforces Round #387 (Div. 2) 747A Display Size 【数学】

题目传送门:

A. Display Size
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

A big company decided to launch a new series of rectangular displays, and decided that the display must have exactlyn pixels.

Your task is to determine the size of the rectangular display — the number of lines (rows) of pixelsa and the number of columns of pixels b, so that:

  • there are exactly n pixels on the display;
  • the number of rows does not exceed the number of columns, it means a ≤ b;
  • the difference b - a is as small as possible.
Input

The first line contains the positive integer n (1 ≤ n ≤ 106) — the number of pixels display should have.

Output

Print two integers — the number of rows and columns on the display.

Examples
Input
8
Output
2 4
Input
64
Output
8 8
Input
5
Output
1 5
Input
999999
Output
999 1001
Note

In the first example the minimum possible difference equals 2, so on the display should be 2 rows of 4 pixels.

In the second example the minimum possible difference equals 0, so on the display should be 8 rows of 8 pixels.

In the third example the minimum possible difference equals 4, so on the display should be 1 row of 5 pixels.


题意:将n分解成a*b,要求a<=b  且a和b尽量接近


思路:从平方根向两头找即可

#include<bits/stdc++.h>
using namespace std;
#define  LL long long
#define  m(a) memset(a,0,sizeof(a))
int main()
{
    int n;
    while(~scanf("%d",&n))
    {
        for(int i=(int)sqrt(n*1.0);i>=1;i--)
        {
            if(n%i==0)
            {
                printf("%d %d\n",i,n/i);
                break;
            }
        }
    }
    return 0;
}



猜你喜欢

转载自blog.csdn.net/qq_37405320/article/details/75451787
今日推荐