当前位置:  开发笔记 > 编程语言 > 正文

用c ++或c语言打印fibo大数字

如何解决《用c++或c语言打印fibo大数字》经验,为你挑选了1个好方法。

我使用recursion.But为show fibonacci系列编写此代码.对于n> 43,它没有正确显示(例如:对于n = 100显示:-980107325).

#include
#include

void fibonacciSeries(int);

void fibonacciSeries(int n)
{
static long d = 0, e = 1;
long c;
if (n>1)
{
    c = d + e;
    d = e;
    e = c;
    printf("%d \n", c);
    fibonacciSeries(n - 1);
}
}

int main()
{
long a, n;
long long i = 0, j = 1, f;
printf("How many number you want to print in the fibonnaci series :\n");
scanf("%d", &n);

printf("\nFibonacci Series: ");
printf("%d", 0);
fibonacciSeries(n);
_getch();
return 0;
}

eerorika.. 5

它的值fib(100)太大,即使是64位数也会溢出.要对如此大的值进行操作,您需要执行任意精度算术.C或C++标准库不提供任意精度算术,因此您需要自己实现它或使用其他人编写的库.

对于适合您的较小值long long,您的问题是您使用了错误的printf格式说明符.要打印long long,您需要使用%lld.



1> eerorika..:

它的值fib(100)太大,即使是64位数也会溢出.要对如此大的值进行操作,您需要执行任意精度算术.C或C++标准库不提供任意精度算术,因此您需要自己实现它或使用其他人编写的库.

对于适合您的较小值long long,您的问题是您使用了错误的printf格式说明符.要打印long long,您需要使用%lld.

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有