斐波那契数列第N项(大数)
来源:互联网 发布:淘宝数据魔方论坛 编辑:程序博客网 时间:2024/05/01 03:00
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int a[1005][300]; //用二维数组的行来记录每项数据,行标表示第几项数据
int main()
{
memset(a,0,sizeof(0));
int i,n,k,bj;
a[1][0]=1,a[2][0]=2,a[3][0]=3;
for(i=4; i<=1000; i++)
{
for(k=0; k<300; k++)
{
a[i][k]+=a[i-1][k]+a[i-2][k]; //用来求前两项的和,如果数组中每个小单元里面的数大于9,则进位
if(a[i][k]>9)
a[i][k+1]+=a[i][k]/10;//这里是进位
a[i][k]%=10;
}
}
while(~scanf("%d",&n)) //输入到文件结束
{
for(bj=299; bj>=0; bj--) //用来去除前导0 标记从右往左第一个不是0的位置
if(a[n][bj])
break;
for(i=bj; i>=0; i--) //打印输出
printf("%d",a[n][i]);
puts("");
}
return 0;
#include <string.h>
#include <stdlib.h>
int a[1005][300]; //用二维数组的行来记录每项数据,行标表示第几项数据
int main()
{
memset(a,0,sizeof(0));
int i,n,k,bj;
a[1][0]=1,a[2][0]=2,a[3][0]=3;
for(i=4; i<=1000; i++)
{
for(k=0; k<300; k++)
{
a[i][k]+=a[i-1][k]+a[i-2][k]; //用来求前两项的和,如果数组中每个小单元里面的数大于9,则进位
if(a[i][k]>9)
a[i][k+1]+=a[i][k]/10;//这里是进位
a[i][k]%=10;
}
}
while(~scanf("%d",&n)) //输入到文件结束
{
for(bj=299; bj>=0; bj--) //用来去除前导0 标记从右往左第一个不是0的位置
if(a[n][bj])
break;
for(i=bj; i>=0; i--) //打印输出
printf("%d",a[n][i]);
puts("");
}
return 0;
}
//这里只求到了第1000项,如果求更大的项,要把行和列扩大,行长度至少保证大于第N项数据的长度
0 0
- 斐波那契数列第N项(大数)
- 求斐波那契数列第N项及大数求和
- 斐波那契数列第N项(C++)
- 斐波那契数列第n项
- 1242 . 斐波那契数列的第N项
- 斐波那契数列的第N项
- 黑马程序员-斐波那契数列第n项
- 1242 斐波那契数列的第N项
- 斐波那契数列的第n项。
- 输出斐波那契数列的第n项
- 斐波那契数列第n项的值(递归)
- 51nod 1242 斐波那契数列的第N项(矩阵快速幂)
- 51nod 1242 斐波那契数列的第N项 (矩阵快速幂)
- 51nod--1242 斐波那契数列第N项 (矩阵乘法优化)
- 斐波那契数列的第 n 项 mod 1000000007(矩阵乘法)
- 【51Nod】1242 - 斐波那契数列的第N项(矩阵快速幂)
- 51nod 1242 斐波那契数列的第N项(矩阵快速幂)
- 51nod 1242 斐波那契数列的第N项(O(logn)求递推式)
- 【水题-前缀码】HDU 1305 Immediate Decodability
- [编程之美] PSet2.15 子数组之和的最大值(二维)
- 线程同步之Semaphore
- TOMCAT SSL配置
- 如何快速的把日志输出到磁盘上
- 斐波那契数列第N项(大数)
- 移植X264成功
- 总结linux中管线和数据流重导向的详解及区别
- java即时在线聊天(一)
- AJAX跨域请求数据原理与案例
- Django模板系统——过滤器
- 陈老师的多校联合 20140809 C题
- poj 1639 度限制生成树(小矮人野餐)
- HDU1097:A hard puzzle(快速幂求模)