gpt4 book ai didi

c++ - 如何在数字序列中找到缺失的数字?

转载 作者:搜寻专家 更新时间:2023-10-31 00:31:26 24 4
gpt4 key购买 nike

数字应输入为:

53,55,57,58,54

输出:

Missing number is 56

输入的数字应尽可能多。

这是我目前所拥有的:

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int getMissingNo (int a[], int n)
{
int i, total;
total = (n+1)*(n+2)/2;
for ( i = 0; i< n; i++)
total -= a[i];
return total;
}

int main()
{
int a[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

cout << "Enter number of numbers in sequence: ";
int numInSeq;
cin >> numInSeq;
cout << endl;

cout << "Enter numbers in sequence: ";
for (int i = 0; i < numInSeq; i++)
{
cin >> a[i];
}
cout << endl;

int miss = getMissingNo(a,numInSeq);
cout << "Missing number: " << miss << endl << endl;

return 0;
}

我唯一缺少的是能够输入以逗号分隔的数字,我需要编辑 getMissingNo 以便它可以是任何数字序列,而不仅仅是以 1 开头的数字。

最佳答案

知道范围的简单解决方案。

  • 对于给定的范围,令 S 为该范围内所有数字的总和。
  • 对于缺少数字的给定数组,令 MS 为该数组中数字的总和。

缺失的数字是S - MS

关于c++ - 如何在数字序列中找到缺失的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34142864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com