Given two integers N and D, Find a set of N integers such that the difference between their product and sum is equal to D.
Examples:
Input : N = 2, D = 1 Output : 2 3 Explanation: product = 2*3 = 6, Sum = 2 + 3 = 5. Hence, 6 - 5 = 1(D). Input : N = 3, D = 5. Output : 1 2 8 Explanation : Product = 1*2*8 = 16 Sum = 1+2+8 = 11. Hence, 16-11 = 5(D).
A tricky solution is to keep the difference D to choose N numbers as N-2 ‘1’s, one ‘2’ and one remaining number as ‘N+D’.
Sum = (N-2)*(1) + 2 + (N+D) = 2*N + D.
Product = 1*2*(N+D) = 2*N+2*D
Difference = (2*N+2*D) – (2*N+D) = D.
C++
// CPP code to generate numbers// with difference between// product and sum is D#include <iostream>using namespace std;// Function to implement calculationvoid findNumbers(int n, int d){ for (int i = 0; i < n - 2; i++) cout << "1" << " "; cout << "2" << " "; cout << n + d << endl;}// Driver codeint main(){ int N = 3, D = 5; findNumbers(N, D); return 0;} |
Java
// Java code to generate numbers// with difference between// product and sum is Dimport java.io.*;class GFG { // Function to implement calculation static void findNumbers(int n, int d) { for (int i = 0; i < n - 2; i++) System.out.print("1" + " "); System.out.print("2" + " "); System.out.println(n + d); } // Driver code public static void main(String args[]) { int N = 3, D = 5; findNumbers(N, D); }}/* This code is contributed by Nikita Tiwari.*/ |
Python3
# Python3 code to generate numbers with# difference between product and sum is D# Function to implement calculationdef pattern(n, d) : for i in range(0, n - 2) : print("1", end=" ") print("2", end=" ") print(n + d)# Driver codeN = 3D = 5pattern(N, D)# This code is contributed by 'Akanshgupta' |
C#
// C# code to generate numbers// with difference between// product and sum is Dusing System;class GFG { // Function to implement calculation static void findNumbers(int n, int d) { for (int i = 0; i < n - 2; i++) Console.Write("1" + " "); Console.Write("2" + " "); Console.Write(n + d); } // Driver code public static void Main() { int N = 3, D = 5; findNumbers(N, D); }}/* This code is contributed by vt_m.*/ |
PHP
<?php// PHP code to generate numbers// with difference between// product and sum is D// Function to implement// calculationfunction findNumbers($n, $d){ for ($i = 0; $i < $n - 2; $i++) echo "1" ," "; echo "2" , " "; echo $n + $d ,"\n";} // Driver Code $N = 3; $D = 5; findNumbers($N, $D);// This code is contributed by ajit?> |
Javascript
<script>// JavaScript program to generate numbers// with difference between// product and sum is D// Function to implement calculation function findNumbers(n, d) { for (let i = 0; i < n - 2; i++) document.write("1" + " "); document.write("2" + " "); document.write(n + d); } // Driver code let N = 3, D = 5; findNumbers(N, D); </script> |
Output :
1 2 8
Time complexity : O(n)
Auxiliary Space : O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

… [Trackback]
[…] Find More Info here on that Topic: geeksforgeeks.org/find-n-integers-with-given-difference-between-product-and-sum/ […]