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

แนวทางแก้ปัญหา

เพื่อแก้ปัญหา เราต้องคำนวณผลรวมขององค์ประกอบทั้งหมดในอาร์เรย์ จากนั้นหารผลรวมด้วยจำนวนองค์ประกอบทั้งหมด หากค่า sum / (จำนวนองค์ประกอบ) เป็นจำนวนเต็ม มันคือเลขซ่อน

โปรแกรมตัวอย่างการทำงานของวิธีแก้

ตัวอย่าง

#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