fo31 Phân tích số

Xem dạng PDF

Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 0.55s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Phân tích số

Tên file: phantich.

Nhập một số nguyên dương n (~n ≤ 10^9~). Hãy phân n thành tích của hai số nguyên dương x và y (trong đó x ≤ y) sao cho tổng của chúng là nhỏ nhất.

Input:

số nguyên dương n.

Output:

2 số nguyên dương x và y.

Ví dụ:

INPUT OUTPUT Giải thích
6 2 3 6 có 2 cách phân tích thành tích của 2 số nguyên là (1, 6) và (2, 3); trong đó cách phân tích thành 2 số 2 và 3 cho kết quả tổng nhỏ hơn.

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    hoangnam12345  đã bình luận lúc 6, Tháng 1, 2026, 13:50

    include <bits/stdc++.h>

    using namespace std;

    int main() { int n;cin>>n; long long x=1; long long y=n; int m=sqrt(n);; for(int i=2;i<=m;++i) { if(n%i==0) { int j=n/i; if(x+y>i+j) { x=i; y=j; } } } cout<<x<<" "<<y; return 0; }