在C ++中,最小数小于或等于N且总和为S
问题陈述
给定N个从1到N的数字和一个数字S。任务是打印总和为S的最小数字数
示例
如果n=7且s=10,则至少需要2个数字
(9, 1) (8, 2) (7, 3) (6, 4)
算法
Answer can be calculated using below formula (S/N) + 1 if { S %N > 0}
示例
#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 << "Required minimum numbers = " << getMinNumbers(n, s) << endl; return 0; }
当您编译并执行上述程序时。它产生以下输出
输出结果
Required minimum numbers = 2