在C ++中找到N个具有乘积与总和之间给定差的整数
假设我们有两个整数N和D。我们必须找到一组N个整数,它们的和与乘积之差与D相同。假设N=3,D=5,则输出将为1,2,8。这里的总和是1+2+8=11,乘积是1*2*8=16,16和11之间的差是5。
我们必须解决这个问题;我们将使用一种棘手的方法。在这里,我们将尝试找到N-2个1,一个2,剩下一个N+D。因此,总和,乘积和差为-
总和=(N–2)*1+2+(N+D)=2*N+D
乘积=(N–2)*1*2*(N+D)=2*N+2*D
差=(2*N+2*D)–(2*N+D)=D
示例
#include<iostream>
using namespace std;
void getNNumbers(int n, int d) {
for (int i = 0; i < n - 2; i++)
cout << 1 << " ";
cout << 2 << " ";
cout << n + d << endl;
}
int main() {
int N = 5, D = 8;
getNNumbers(N, D);
}输出结果
1 1 1 2 13
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练