# Find N integers with given difference between product and sum

Given two integers N and D, Find a set of N integers such that 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).

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the **Essential Maths for CP Course** at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**

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 calculation` `void` `findNumbers(` `int` `n, ` `int` `d)` `{` ` ` `for` `(` `int` `i = 0; i < n - 2; i++)` ` ` `cout << ` `"1"` `<< ` `" "` `;` ` ` `cout << ` `"2"` `<< ` `" "` `;` ` ` `cout << n + d << endl;` `}` `// Driver code` `int` `main()` `{` ` ` `int` `N = 3, D = 5;` ` ` `findNumbers(N, D);` ` ` `return` `0;` `}` |

## Java

`// Java code to generate numbers` `// with difference between` `// product and sum is D` `import` `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 calculation` `def` `pattern(n, d) :` ` ` ` ` `for` `i ` `in` `range` `(` `0` `, n ` `-` `2` `) :` ` ` `print` `(` `"1"` `, end` `=` `" "` `)` ` ` ` ` `print` `(` `"2"` `, end` `=` `" "` `)` ` ` `print` `(n ` `+` `d)` `# Driver code` `N ` `=` `3` `D ` `=` `5` `pattern(N, D)` `# This code is contributed by 'Akanshgupta'` |

## C#

`// C# code to generate numbers` `// with difference between` `// product and sum is D` `using` `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` `// calculation` `function` `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