请用while语句的循环结构输出不大于800的 斐波那契序列,输出的数与数之间用空格隔开

请问用while语句的循环结构输出不大于800的
斐波那契序列,输出的数与数之间用空格隔开怎么输入

def fib_recur(n):
    assert n >= 0, "n > 0"
    if n <= 1:
        return n

    v = fib_recur(n-1) + fib_recur(n-2)

    return v

n = 1
result = []
while True:
    v = fib_recur(n)
    if v<800:
      result.append(str(v))
    else:
        break
    n+=1
print(' '.join(result))

斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55,89...
这个数列从第3项开始,每一项都等于前两项之和。

#include<stdio.h>
int main()
{
    int n = 0;
    int a = 1;
    int b = 1;
    int c = 1;
    scanf("%d", &n);
    while (n > 2)
    {
        c = a + b;
        a = b;
        b = c;
        n--;//减到不需要循环为止
    }
    printf("%d", c);

}