Problem4078--相互调用函数-侯世达数列

4078: 相互调用函数-侯世达数列

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 0  Solved: 0
[Status] [Submit] [Creator:]

Description

"做事所花费的时间总是比你预期的要长",这是侯世达(Douglas Hofstadter)在他的奇书《哥德尔、埃舍尔、巴赫》中提出的侯世达定律(Hofstadter's law)。
而我们对于编程和算法的学习同样遵守这条定律。当然,聪明的你或许有不同的想法,对于这条定律的正确性,我们不展开讨论,我们要来看的是书中著名的雌雄数列 (Hofstadter Female and Male sequences),
这两个数列必须紧密配合计算,
其中,
F数列满足:
F(0) = 1
F(n) = n - M(F(n-1)), 当 n > 0 时

M数列满足:
M(0) = 0
M(n) = n - F(M(n-1)), 当 n > 0 时

现在,输入一个正整数n,要求聪明的你输出这两个数列的前n项数字。

Input

一个正整数n(n<=30)

Output

输出两行数列,
第一行输出F数列的前n个数字,
第二行输出M数列的前n个数字,
每一行的两个数字之间用空格隔开。

Sample Input Copy

20

Sample Output Copy

1 1 2 2 3 3 4 5 5 6 6 7 8 8 9 9 10 11 11 12 
0 0 1 2 2 3 4 4 5 6 6 7 7 8 9 9 10 11 11 12 

Source/Category