输入一个正整数 N,打印一个对称数列,从 1 到 N,再从 N 到 1。例如: N=4 时,输出: 1 2 3 4 3 2 1
这个我想了好久都没想出来啊

求解
程序代码:
#include <iostream>
int foo(int i)
{
int n = 0;
if (1 == i) n = 1;
else n = foo(i - 1) + 3 * (i - 1);
std::cout << n << " ";
return n;
}
int Nprint(int n)
{
unsigned int i = 1;
unsigned int N = n - 1;
while (i < 2*n)
{
if (i <= n) std::cout << i << " ";
else std::cout << N-- << " ";
i++;
}
return 0;
}
int main()
{
foo(5);// 这里是不用循环的,是递归调用的一个特点
std::cout << std::endl;
Nprint(6);
std::cout << std::endl;
return 0;
}