Count non-negative triplets with sum equal to N

Given an integer N. The task is to find the number of different ordered triplets(a, b, c) of non-negative integers such that a + b + c = N .

Examples:

Input : N = 2
Output : 6
Triplets are : (0, 0, 2), (1, 0, 1), (0, 1, 1), (2, 0, 0), (0, 2, 0), (1, 1, 0)

Input : N = 50
Output : 1326

Approach :
First, it is easy to see that for each non-negative integer N, the equation a + b = N can be satisfied by (N+1) different ordered pairs of (a, b). Now we can assign c values from 0 to N then the ordered pairs for a+b can be found. It will form a series of N+1 natural numbers and its sum will give the count of triplets.



Below is the implementation of the above approach :

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to find triplets count
#include <bits/stdc++.h>
using namespace std;
  
// Function to find triplets count
int triplets(int N)
{
    // Sum of first n+1 natural numbers
    return ((N + 1) * (N + 2)) / 2;
}
  
// Driver code
int main()
{
    int N = 50;
      
    // Function call
    cout << triplets(N);
      
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to find triplets count
class GFG 
{
      
// Function to find triplets count
static int triplets(int N)
{
    // Sum of first n+1 natural numbers
    return ((N + 1) * (N + 2)) / 2;
}
  
// Driver code
public static void main(String[] args)
{
    int N = 50;
  
    System.out.println(triplets(N));
}
}
  
// This code is contributed 
// by PrinciRaj1992 

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 program to find triplets count
  
# Function to find triplets count
def triplets(N):
  
    # Sum of first n+1 natural numbers
    return ((N + 1) * (N + 2)) // 2;
  
# Driver code
N = 50;
      
# Function call
print(triplets(N))
  
# This code is contributed by nidhi

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to find triplets count
using System;
  
class GFG 
{
      
// Function to find triplets count
static int triplets(int N)
{
    // Sum of first n+1 natural numbers
    return ((N + 1) * (N + 2)) / 2;
}
  
// Driver code
public static void Main()
{
    int N = 50;
  
    Console.WriteLine(triplets(N));
}
}
  
// This code is contributed 
// by anuj_67..

chevron_right


Output:

1326

Time Complexity : O(1)

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up

Recommended Posts: