#include<stdio.h>
#include<string.h>
//memset,strcpy,strlen函数头文件
int main(void)
{
char sum[];//用来保存产生的下一个斐波那契数,当然了,是字符串形式
long long m,i,max,s = ;//max用来存放数位较长的个数
char s1[],s2[]; //用来存储斐波那契数列的相邻两个数,并以字符串形式进行存储
int a[],b[];//转存到int数组中
long long n;
scanf("%lld",&n);//输入你想要输出的菲波那切数列的第多少位 strcpy(s1,""); //初始第一项为"1";
strcpy(s2,"");//初始第二项为"1"; for(m=;m<n;m++)//大循环
{
//每一次都需要将a,b数组所有字节置0
memset(a,,sizeof(int)*);
memset(b,,sizeof(int)*); //a[0]用来保存每一次第一个菲波那切数就是s1的长度 ,并将菲波那切数以逆向方式存储到a数组中
a[] = strlen(s1);
for(i=;i<=a[];i++)
{
a[i] = s1[a[] - i] - '';//a[0]-i便是倒序
} //b[0]用来保存每一次第二个菲波那切数就是s2的长度 ,并将菲波那切数以逆向方式存储到b数组中
b[] = strlen(s2);
for(i=; i<=b[]; i++)
{
b[i] = s2[b[] - i] - '';//b[0]-i便是倒序
} //max存放数位较大的
//因为相加是倒序相加,因此需要找到位数长的,并记录个数
max =( a[]>b[]?a[]:b[] ); for(i=;i<=max;i++)
{
//将a[i]和b[i]的值赋给a[i],a[i]可能大于10,或者小于10;
//大于10则要进一位;
//自身变成a[i]%10;
a[i]+=b[i];//此时a[i]可能大于10
a[i+]+=a[i]/;//无论a[i]是不是大于10,都除以10,发给下一位,也就是所谓的进一位
a[i]%=;//无论a[i]是不是大于10,求余10,发给a[i]
} //可能进位导致较长位数+1;
max++; //进位导致0的出现 ,出现多余有效数字
while(a[max] == && max > )
{
max--;
} //将获得的新的斐波那契数以字符串形式发送给一个数组,在通过strcpy函数复制给s2,
for (i = max,s = ;i>=;i--,s++)
{
sum[s] = a[i]+'';//再将数字转化为字符
} strcpy(s1,s2);//将s2复制给s1
strcpy(s2,sum);//将sum数组里面的字符串复制给s2
}
printf("%s",s2);
return ;
}

高精度处理斐波那契序列(C语言)的更多相关文章

  1. HDU 5620 KK's Steel (斐波那契序列)

    KK's Steel 题目链接: http://acm.hust.edu.cn/vjudge/contest/121332#problem/J Description Our lovely KK ha ...

  2. pytho查找斐波那契序列中的值

    ''' 实现斐波那契序列,查找其中第N个数的值 ''' def FeiBSequence(list,N): length=len(list); i=0; while i<length: if N ...

  3. 爬楼梯问题-斐波那契序列的应用.md

    N 阶楼梯,一次可以爬1.2.3...n步,求爬楼梯的种类数 /** * 斐波那契序列 */ public class ClimbingStairs { // Sol 1: 递归 // 递归 公式:F ...

  4. [LeetCode] Split Array into Fibonacci Sequence 分割数组成斐波那契序列

    Given a string S of digits, such as S = "123456579", we can split it into a Fibonacci-like ...

  5. 利用python实现二分法和斐波那契序列

    利用python实现二分法:我的实现思路如下 1.判断要查找的值是否大于最大值,如果大于则直接返回False 2.判断要查找的值是否小于最小值,如果小于则直接返回False 3.如果要查找的值在最大值 ...

  6. 最长斐波那契序列-LeetCode-873

    英文版A sequence X_1, X_2, ..., X_n is fibonacci-like if: - n >= 3- X_i + X_{i+1} = X_{i+2} for all ...

  7. 【严蔚敏】【数据结构题集(C语言版)】1.17 求k阶斐波那契序列的第m项值的函数算法

    已知k阶斐波那契序列的定义为 f(0)=0,f(1)=0,...f(k-2)=0,f(k-1)=1; f(n)=f(n-1)+f(n-2)+...+f(n-k),n=k,k+1,... 试编写求k阶斐 ...

  8. 【剑指offer】斐波那契序列与跳台阶

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/25337983 剑指offer上的第9题,简单题,在九度OJ上測试通过. 主要注意下面几点: ...

  9. [Swift]LeetCode842. 将数组拆分成斐波那契序列 | Split Array into Fibonacci Sequence

    Given a string S of digits, such as S = "123456579", we can split it into a Fibonacci-like ...

随机推荐

  1. javascript设计模式(1)——面向对象基础

    用对象收编变量2种方式 1 函数式 var Object = { name:function(){ return this; }, email:function(){ return this; } } ...

  2. 关于spring cloud “Finchley.RC2”版本在spring cloud config中的ArrayIndexOutOfBoundsException

    原文 https://www.cnblogs.com/Little-tree/p/9166382.html 在学spring cloud config的时候遇到一个ArrayIndexOutOfBou ...

  3. Flink与Spark Streaming在与kafka结合的区别!

    本文主要是想聊聊flink与kafka结合.当然,单纯的介绍flink与kafka的结合呢,比较单调,也没有可对比性,所以的准备顺便帮大家简单回顾一下Spark Streaming与kafka的结合. ...

  4. python 流行库、库的基本用法

    进入github,输入python 点击see topic 进入python流行的库  链接 https://github.com/topics/python 1.QuantLib 金融衍生品数据库 ...

  5. page-break-before和page-break-after 实现分页打印

    page-break-before和page-break-after CSS属性并不会修改网页在屏幕上的显示,这两个属性是用来控制文件的打印方式.每个打印属性都可以设定4种设定值:auto.alway ...

  6. xdc如何设置输入延时

    常用命令: Set_input_delay,create_clock,set_output_delay以及用于组合逻辑的set_max_delay. Input delay: 什么是输入延时? Tra ...

  7. [FJOI2015]火星商店问题(线段树分治+可持久化Trie)

    重新写一年前抄题解的那题,当时我啥都不会只是Ctrl+C,Ctrl+V写过的题,今天重新写一遍. 题解: 不会线段树分治,还是学一下这东西吧,这是我的第一道线段树分治. 首先对于特殊商品,可以直接可持 ...

  8. dp--背包--开心的金明

    题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”.今天 ...

  9. 《Docekr入门学习篇》——Docker网络及数据卷

    Docker网络设置 默认情况下docker会创建一个桥接网卡[docker 0],docker有两种映射方式,一种是随机映射,一种是指定映射. 提示:生产场景一般不使用随机映射,但是随机映射的好处是 ...

  10. 计蒜客 置换的玩笑(DFS)

    传送门 题目大意: 小蒜头又调皮了.这一次,姐姐的实验报告惨遭毒手. 姐姐的实验报告上原本记录着从 1 到 n 的序列,任意两个数字间用空格间隔.但是“坑姐”的蒜头居然把数字间的空格都给删掉了,整个数 ...