Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรมหาเลขที่ซ่อนอยู่ใน C++


ในปัญหานี้ เราคืออาร์เรย์ arr[] ที่ประกอบด้วยค่าจำนวนเต็ม n ค่า งานของเราคือสร้าง โปรแกรมค้นหาหมายเลขที่ซ่อนอยู่ใน 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