📜  比较数组中前N-1个元素与第N个元素的和

📅  最后修改于: 2021-04-21 23:20:56             🧑  作者: Mango

给定大小为N的数组arr [] ,任务是检查数组的第一个N – 1个元素的总和是否等于最后一个元素。

例子:

方法:从数组中找到前N – 1个元素的总和,即arr [0] + arr [1] +…+ arr [N – 2]并将其与arr [N – 1]进行比较

下面是上述方法的实现:

C++
// C++ implementation of the approach
#include 
using namespace std;
  
// Function that returns true if sum of
// first n-1 elements of the array is
// equal to the last element
bool isSumEqual(int ar[], int n)
{
    int sum = 0;
  
    // Find the sum of first n-1
    // elements of the array
    for (int i = 0; i < n - 1; i++)
        sum += ar[i];
  
    // If sum equals to the last element
    if (sum == ar[n - 1])
        return true;
  
    return false;
}
  
// Driver code
int main()
{
    int arr[] = { 1, 2, 3, 4, 10 };
    int n = sizeof(arr) / sizeof(arr[0]);
  
    if (isSumEqual(arr, n))
        cout << "Yes";
    else
        cout << "No";
  
    return 0;
}


Java
// Java implementation of the approach
  
import java.io.*;
  
class GFG {
  
    // Function that returns true if sum of
    // first n-1 elements of the array is
    // equal to the last element
    static boolean isSumEqual(int ar[], int n)
    {
        int sum = 0;
  
        // Find the sum of first n-1
        // elements of the array
        for (int i = 0; i < n - 1; i++)
            sum += ar[i];
  
        // If sum equals to the last element
        if (sum == ar[n - 1])
            return true;
  
        return false;
    }
  
    // Driver code
    public static void main(String[] args)
    {
  
        int arr[] = { 1, 2, 3, 4, 10 };
        int n = arr.length;
  
        if (isSumEqual(arr, n))
            System.out.println("Yes");
        else
            System.out.println("No");
    }
}
  
// This code is contributed by jit_t.


Python3
# Python 3 implementation of the approach
  
# Function that returns true if sum of
# first n-1 elements of the array is
# equal to the last element
def isSumEqual(ar, n):
    sum = 0
  
    # Find the sum of first n-1
    # elements of the array
    for i in range(n - 1):
        sum += ar[i]
  
    # If sum equals to the last element
    if (sum == ar[n - 1]):
        return True
  
    return False
  
# Driver code
if __name__ == '__main__':
    arr = [1, 2, 3, 4, 10]
    n = len(arr)
  
    if (isSumEqual(arr, n)):
        print("Yes")
    else:
        print("No")
          
# This code is contributed by
# Surendra_Gangwar


C#
// C# implementation of the approach
using System;
  
class GFG {
  
    // Function that returns true if sum of
    // first n-1 elements of the array is
    // equal to the last element
    static bool isSumEqual(int[] ar, int n)
    {
        int sum = 0;
  
        // Find the sum of first n-1
        // elements of the array
        for (int i = 0; i < n - 1; i++)
            sum += ar[i];
  
        // If sum equals to the last element
        if (sum == ar[n - 1])
            return true;
  
        return false;
    }
  
    // Driver code
    static public void Main()
    {
        int[] arr = { 1, 2, 3, 4, 10 };
        int n = arr.Length;
  
        if (isSumEqual(arr, n))
            Console.WriteLine("Yes");
        else
            Console.WriteLine("No");
    }
}
  
// This code is contributed by ajit


PHP


输出:
Yes