当前位置:  开发笔记 > 编程语言 > 正文

如何在一系列数字中找到缺失的数字?

如何解决《如何在一系列数字中找到缺失的数字?》经验,为你挑选了1个好方法。

数字应输入为:

53,55,57,58,54

输出:

缺少的数字是56

输入应该能够与想要的数量一样多.

这是我到目前为止:

#include 
#include 
#include 

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开头的数字序列.



1> Mr_Pouet..:

如果你知道范围,简单的解决方案.

对于给定范围,让S为该范围内所有数字的总和.

对于具有缺失数字的给定数组,让MS为此数组中数字的总和.

缺少的数字是S - MS

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有