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

Số nhỏ nhất ≤ N với tổng S trong C++


Đề bài

Cho N số từ 1 đến N và một số S. Nhiệm vụ là in số lượng số tối thiểu mà tổng của chúng bằng S.

Ví dụ

Nếu n = 7 và s = 10 thì cần tối thiểu 2 số

(9, 1) (8, 2) (7, 3) (6, 4)

Thuật toán

Đáp án có thể tính bằng công thức: (S/N) + 1 nếu {S % N > 0}

Ví dụ mã C++

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

int getMinNumbers(int n, int s) {
    return s % n ? s / n + 1 : s / 2;
}

int main() {
    int n = 7;
    int s = 10;
    cout << "Số lượng số tối thiểu cần = " << getMinNumbers(n, s) << endl;
    return 0;
}

Khi biên dịch và thực thi chương trình trên. Nó tạo ra đầu ra sau

Đầu ra

Số lượng số tối thiểu cần = 2