Fibodigits-计算斐波那契数字
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fibodigits-计算斐波那契数字相关的知识,希望对你有一定的参考价值。
我需要找到斐波纳契数的位数,直到1000位。
例如:1有1位数字,10有2位数字,100有3位数字...
斐波那契数列以此方式开始:0,1,2,3,5,8,13 ...
我必须插入1000并得到4782。
我得到4781插入524,请参见下文。我想插入1000并得到4782。有什么可能的方法来获取堆栈的长度?在python中,我可以使用len函数,在C中,它将不起作用:)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int s) {
int i = 1;
int k = 1;
int list[1000] = { 0, 1 };
int fibo = 0;
int s = -1;
int divide = 0;
while (i < 1500) {
i++;
fibo = list[i - 1] + list[i - 2];
if (i == 1000) {
break;
} else {
list[i] = fibo;
//printf("%d
", list[i]);
}
}
while (s < 524) {
s++;
divide = 0;
while (list[s] != 0) {
divide = list[s] / 10;
list[s] = divide;
k++;
if(divide == 0) {
break;
}
}
}
printf("%d
", k);
}
答案
这个简单的问题在C语言中比在Python中解决要困难得多:取消链接Python,C语言在默认情况下没有多精度整数算术,因此您必须自己实现它,至少要加法,最好是在基数10中实现。 >
这是一个快速而幼稚的实现:
以上是关于Fibodigits-计算斐波那契数字的主要内容,如果未能解决你的问题,请参考以下文章