#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. jq监听

    $(window).resize(function () {//风电月表格自适应高度 var handHeight =$(".tree-handler").height() $(& ...

  2. GPRS模块

    一.参考网址 1.AT指令(中文详解版)(二)

  3. java集合对象区别二

    集合包是Java中最常用的包,它最常用的有Collection和Map两个接口的实现类,Collection用于存放多个单对象,Map用于存放Key-Value形式的键值对. Collection中常 ...

  4. 8.scrapy的第一个实例

    [目标]要完成的任务如下: ※ 创建一个 Scrap项目.※ 创建一个 Spider来抓取站点和处理数据.※ 通过命令行将抓取的内容导出.※ 将抓取的内容保存的到 MongoDB数据库.======= ...

  5. Tomcat Access Log 的格式

    名称 含义 %a Remote IP address %A Local IP address %b Bytes sent, excluding HTTP headers, or ‘-‘ if zero ...

  6. mysql第三篇:表操作

    第三篇:表操作 一.什么是表 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 二.创建表 语法 CREATE TABLE 表名( 字段名1 类型 ...

  7. SpringCloud学习之Ribbon使用(四)

    1.关于 Ribbon Spring Cloud Ribbon 是基于 Netflix Ribbon 实现的一套客户端负载均衡的工具.Ribbon 是 Netflix 发布的开源项目,主要功能是提供客 ...

  8. phpmyadmin拿网站shell

    开门见山 1. 找到一个赌博网站,发现存在php探针界面,在下面输入密码尝试用弱口令进行连接,尝试是否成功 失败的结果是这样. 2. 成功! 3. 连接成功的,点击phpMyAdmin管理,进行弱口令 ...

  9. 注册网站 captcha reCHAPTCHA 错误

    原因 出现这个错误,是因为注册和提交时候,没有正确输出验证码导致的.网站可能会为了防止恶意注册,而使用验证码.如果验证码没有被正确加载或验证,就会出现相关错误. 解决方案 如果是访问类似kaggle, ...

  10. Dynamics CRM - 如何创建一个新的 Organization

    最近需要新建几个 CRM 的场来测试或者开发,也就是要新建 Organization,但是每次我都忘了在哪操作,写篇 blog mark 一下. 首先,新建 Organization 当然是要在 CR ...