给定大小为N的数组arr [] ,任务是检查数组的第一个N – 1个元素的总和是否等于最后一个元素。
例子:
Input: arr[] = {1, 2, 3, 4, 10}
Output: Yes
Input: arr[] = {1, 2, 3, 4, 12}
Output: No
方法:从数组中找到前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