Print n terms of Newman-Conway Sequence

• Difficulty Level : Basic
• Last Updated : 23 Aug, 2022

Newman-Conway numbers is the one that generates the following integer sequence.

1 1 2 2 3 4 4 4 5 6 7 7….. and follows the below recursive formula.

`P(n) = P(P(n - 1)) + P(n - P(n - 1))`

Given a number n then print n terms of Newman-Conway Sequence

Examples:

```Input : 13
Output : 1 1 2 2 3 4 4 4 5 6 7 7 8```
```Input : 20
Output : 1 1 2 2 3 4 4 4 5 6 7 7 8 8 8 8 9 10 11 12 ```

C++

 `// C++ Program to print n terms``// of Newman-Conway Sequence``#include ``using` `namespace` `std;` `// Function to find``// the n-th element``void` `sequence(``int` `n)``{``    ``// Declare array to store sequence``    ``int` `f[n + 1];``    ``f[0] = 0;``    ``f[1] = 1;``    ``f[2] = 1;``    ` `    ``cout << f[1] << ``" "` `<< f[2] << ``" "``;``    ` `    ``for` `(``int` `i = 3; i <= n; i++) {``        ``f[i] = f[f[i - 1]] + f[i - f[i - 1]];       ``        ``cout << f[i] << ``" "``;``    ``}``}` `// Driver Program``int` `main()``{   ``    ``int` `n = 13;   ``    ``sequence(n);   ``    ``return` `0;``}`

Java

 `// Java Program to print n terms``// of Newman-Conway Sequence` `class` `GFG``{``    ``// Function to find``    ``// the n-th element``    ``public` `static` `void` `sequence(``int` `n)``    ``{``        ``// Declare array to store sequence``        ``int` `f[] = ``new` `int``[n + ``1``];``        ` `        ``f[``0``] = ``0``;``        ``f[``1``] = ``1``;``        ``f[``2``] = ``1``;``        ` `        ``System.out.print( f[``1``] + ``" "` `+ f[``2``] + ``" "``);``        ``for` `(``int` `i = ``3``; i <= n; i++)``        ``{``            ``f[i] = f[f[i - ``1``]] + f[i - f[i - ``1``]];    ``            ``System.out.print(f[i] + ``" "``);``        ``}``    ``}``    ` `    ``//Driver code``    ``public` `static` `void` `main(String []args)``    ``{``        ``int` `n = ``13` `;``        ``sequence(n);``    ``}` `}`  `// This program is contributed``// by upendra singh bartwal`

Python3

 `# Python Program to print n terms``# of Newman-Conway Sequence` `def` `sequence(n):` `    ``# Function to find``    ``# the n-th element``    ``# Declare array to store sequence``    ``f ``=` `[``0``, ``1``, ``1``]` `    ``print``(f[``1``], end``=``" "``),``    ``print``(f[``2``], end``=``" "``),``    ``for` `i ``in` `range``(``3``,n``+``1``):``        ``f.append( f[f[i ``-` `1``]] ``+` `f[i ``-` `f[i ``-` `1``]])``        ``print``(f[i], end``=``" "``),``        ` `# driver code``n ``=` `13``sequence(n)` `# This code is contributed``# by upendra singh bartwal`

C#

 `// C# Program to print n terms``// of Newman-Conway Sequence``using` `System;``class` `GFG``{``    ``// Function to find``    ``// the n-th element``    ``public` `static` `void` `sequence(``int` `n)``    ``{``        ``// Declare array to store sequence``        ``int` `[]f = ``new` `int``[n + 1];``        ` `        ``f[0] = 0;``        ``f[1] = 1;``        ``f[2] = 1;``        ` `        ``Console.Write( f[1] + ``" "` `+ f[2] + ``" "``);``        ``for` `(``int` `i = 3; i <= n; i++)``        ``{``            ``f[i] = f[f[i - 1]] + f[i - f[i - 1]];``            ``Console.Write(f[i] + ``" "``);``        ``}``    ``}``    ` `    ``// Driver code``    ``public` `static` `void` `Main()``    ``{``        ``int` `n = 13 ;``        ``sequence(n);``    ``}` `}`  `// This program is contributed``// by vt_m.`

PHP

 ``

Javascript

 ``

Output :

`1 1 2 2 3 4 4 4 5 6 7 7 8 `

Time complexity: O(n)

Auxiliary Space: O(n)

My Personal Notes arrow_drop_up