Are you going to have a go at proposing an algorithm?
From your list you can see
1 is followed by 1, 2
1,1 is followed by 1, 2, 3
1,2 is followed by 2, 3
A solution for the cases N=2 and N=3 should be (is!) relatively straightforward. Then you could have a go coding that. After which you can generalise it for any N, which is a bit (rather?) more involved.
I would focus on the starting and termination conditions for each member of the sequence.
I coded the N=2 (with a single for-loop and one cout) and the N=3 case (with two for for-loops and one cout) easily enough. The N=4, 5, 6, ... can be seen to follow. The only "trick" is working out when to start and stop each loop!
And at first glance, I would say that iteration will be required to implement the general case cleanly (all iterative solution can be converted to loops, but not always in a friendly way...)