Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tìm hai số a,b trong [1,x] thỏa mãn điều kiện chia hết và tích thương bằng C++

Mô tả bài toán

Cho x. Tìm a,b ∈ [1,x] sao cho a chia hết b, a*b > x, a/b < x. Nếu không có in -1.

Ví dụ

x=10 → a=10,b=10 (10*10=100>10, 10/10=1<10). Output: 10,10.

Thuật toán

Nếu x<2 → -1. Ngược lại a=b=x luôn thỏa mãn (x*x > x với x>1, x/x=1 < x).

Code C++

#include <bits/stdc++.h>
using namespace std;

void solve(int x) {
    if (x < 2) {
        cout << -1;
        return;
    }
    cout << x << ", " << x;
}

int main() {
    int x = 10;
    solve(x);
    return 0;
}

Đầu vào / Đầu ra

Input: 10

Output: 10,10