用 C++ 找出隐藏数字的程序


在这个问题中,有一个包含 n 个整数值的数组 arr[]。我们的任务是用 C++ 创建一个程序来找出隐藏的数字

代码描述 − 对于一个数组,隐藏数字是指当此数字减去数组的每个元素时,所得和为 0。

举个例子来理解这个问题:

输入

arr[] = {4, 1, 6, 7, 2}

输出

4

从数组的所有元素中减去 4。然后再相加

= (1 - 4) + (6 - 4) + (7 - 4) + (4 - 2)
= -3 + 2 + 3 - 2 = 0

解决方案方法

要解决这个问题,我们需要计算数组中所有元素的总和。然后将总和除以数组中元素的总数。如果和/(元素数)的值是整数,则它是隐藏的数字。

程序演示我们解决方案的工作原理:

示例

 在线示例

#include <iostream>
using namespace std;
int calcHiddenNumber(int arr[], int n){
   long int sum = 0;
   for(int i = 0; i < n; i++){
      sum = sum + arr[i];
   }
   int hidNum = (sum / n);
   if((hidNum * n) == sum )
      return hidNum;
   else
      return -1;
}
int main() {
   int n = 4;
   int arr[] = { 4, 11, 12, 21 };
   cout<<"The hidden number for the array is "<<calcHiddenNumber(arr, n);
   return 0;
}

输出

The hidden number for the array is 12

更新:15-9-2020

315 次浏览量

开始您的 职业生涯

结业并获得相应证书

开始学习
广告