#include <stdio.h> #include <stdlib.h> int Sum(int *buff, int len) { int sum = 0; for (int i = 0; i < len; i++) { sum += buff[i]; } return sum; } void Print(int *buff, int len) { for (int i = 0; i < len; i++) { printf("%d ", bu
题目:给你一个数字表示成fib数列元素加和的形式,如果有对应因子对应编号位为1,否则为0. 分析:Fib,数论.类似二进制数的表示方式. 算法1:已知正整数n: while n <> 0 找到第一个不大于自己的Fib数字Fk 得到新的n = n - Fk end while 输出所有找到的Fk 定理1:{F1,F2,..,Fn} 可以生成(某些元素和)1 ~ ΣFn之间的所有正整数. 证明1:1. {F1,F2}可以生成 1 ~ 3: 2. 设{F1,F2,..,Fn} 可以生成1 ~ ΣFn