来简单地数个数(斐波那契额数列)
题目描述
这是一个斐波那契数列:
f1 = 1
f2 = 2
fn = fn-1 + fn-2 (n>=3)
蔡老板想知道,给你两个数a、b,你能否求出在区间[a,b]里有多少个斐波那契数。
输入
多组数据输入。一行为一组输入数据,包括两个非负整数a、b(a <= b <= 10^100),当a=b=0时输入终止。
输出
对每组输入,输出单独一行,包含一个整数表示区间[a,b]里的斐波那契数个数。
样例输入
10 100
1234567890 9876543210
0 0
样例输出
5
4
提示
[提交][状态][讨论版]
注意数据量很大哦!!!十的一百次方呢。。。。
#include<bits/stdc++.h>
const int n = 500;
using namespace std;
int a[111]= {0};
int b[111]= {0};
int c[111]= {0};
int d[111];
char s[n][111];
void js()
{memset(b,0,sizeof(b));memset(a,0,sizeof(a));memset(c,0,sizeof(c));memset(d,0,sizeof(d));int len = 0;a[1] = 1;b[1] = 2;for(int k=1; k<=n; k++){if(k<=2){if(k==1)c[1] = 1;else if(k==2)c[1] = 2 ;}else{for(int i = 1;i<=110;i++){d[i] = b[i];b[i] += a[i];}for(int i = 1;i<=110;i++){if(b[i]>=10){b[i]-=10;b[i+1]++;}c[i] = b[i];a[i] = d[i];}}int i=110;int l = 0;while(c[i]==0) i--;for(i=i; i>=1; i--){s[len][l++] = c[i] + '0';}s[len][l] = '\0';len++;}
}
int main()
{js();char x[101],y[101];while(~scanf("%s %s",x,y)){if(strcmp(x,"0")==0&&strcmp(y,"0")==0)break;getchar();int sum = 0;for(int i = 0; i<n; i++){int len = strlen(s[i]);//cout<<s[i]<<endl;//printf("%d\n",len);int len1 = strlen(x);int len2 = strlen(y);if(len>len1&&len<len2){sum++;//cout<<s[i]<<endl;}else if(len==len1&&strcmp(s[i],x)>=0&&((strcmp(s[i],y)<=0&&len==len2)||len<len2)){sum++;//cout<<s[i]<<endl;}else if(len==len2&&strcmp(s[i],y)<=0&&(strcmp(s[i],x)>=0&&len==len1||len>len1)){sum++;//cout<<s[i]<<endl;}}cout<<sum<<endl;}return 0;
}
来简单地数个数(斐波那契额数列)相关推荐
- 最简单理解并实现斐波那契数列函数(c语言)
实现斐波那契数列数列函数前我们要知道它是什么? 最简单理解就是一个数列为:0 1 1 2 3 5 8 13 21...... 第一个数为0第二个数为1,之后的每个数为前面两个数的的和(是不是很简单呢) ...
- python质数列_Python-质数和斐波那契数列
编辑时:正如@WillNess指出的那样,我最初的基于筛子的生成素数的方法不是最优的.我已经修改了原发电机. 在计算第n个斐波那契数时,每n个都将重建所有先前的斐波那契数.这使得您生成n的斐波那契数的 ...
- [BJOI2019]勘破神机(第一类斯特林数,斐波那契数列)
真的是好题,只不过强行多合一有点过分了-- 题目大意: $T$ 组数据.每个测试点中 $m$ 相同. 对于每组数据,给定 $l,r,k$,请求出 $\dfrac{1}{r-l+1}\sum\limit ...
- java 不死神兔原理,java之不死神兔(斐波那契數列)
public class RabbitTest { public static void main(String[] args) { // 方法1 int[] array = new int[20]; ...
- fibonacci斐波那契数列详解 递归求Fn非递归求Fn求n最近的斐波那契数
斐波那契fibonacci 斐波那契额数列即前两项F(0)和F(1)都是1,之后的每一项都是前两项相加和即F(3)=2,F(4)=3,F(5)=5; 通项公式:F(n+2)=F(n+1)+F(n). ...
- Java数据结构之二分查找/插值查找/斐波那契查找
目录 一.简单的线性查找 1.问题引出 2.代码实现 二.二分查找算法 1.基本介绍 2.代码实现(递归) 3.代码实现(非递归) 4.二分查找的功能完善 三.插值查找 1.简单介绍 2.代码实现(递 ...
- xtu oj 1375斐波纳契
题目描述 小明非常喜欢斐波纳契数列,数列为f1=1,f2=2,fn=fn−1+fn−2.小明想知道对于一个整数n,使得n=fi+fj+fk的组合有多少种?比如5=1+1+3或者5=1+2+2,有2种. ...
- 斐波那契数列、素数、质数和猴子吃桃问题
Contents 1. 什么是斐波那契数列.素数.质数和猴子吃桃问题? 1.1. 什么是斐波那契额数列 1.1.1. 构造螺旋曲线 1.1.2. 规则 1.1.3. 斐波那契数列中负数方向的构成 1. ...
- 递归生成斐波那契Fibonacci数列——Python
记录一下学习过程 递归生成斐波那契额数列的第n项 定义一个函数Fibonacci(n),它可以生成数列的第n个数,先不考虑是怎么生成的.斐波那契数列的每一项都是前两项的和,因此第 n 项可以由 n-1 ...
- 剑指Offer——斐波那契数列
1.题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0).n<=39 2.代码实现 1 package com.baozi.offer; ...
最新文章
- oracle中resource权限,Oracle内置角色connect与resource的权限
- wxWidgets:工具栏概述
- linux war版本管理,linux(centos8):用systemctl管理war包形式的jenkins(java 14 / jenkins 2.257)...
- 云漫圈 | AR VR傻傻分不清楚。。。
- WebKit 内核浏览器 initKeyboardEvent 函数原型
- Visual Studio Code是什么
- 如何判断cin输入结束~
- Python全栈之路Day16
- tas5717php手册,TAS5715 具有扬声器均衡、双频带 DRC 和 DC 保护的 25W 立体声 I2S 音频放大器...
- ARM公司发展历程 - 从1985年至今
- WRF建模与案例应用
- 如何设计hash函数
- 可爱女生开糖果花店,她两年时间就挣了一百万元
- 华为工程师面试题库—通信类
- 转载:揭秘内容付费的三种商业模式(原作者:小马宋)
- html打印指定区域
- 去除桌面应用程序快捷方式的图标
- 监听qq新邮件 linux,linux如何使用QQmail实现网络邮件报警?
- TexturePacker 命令行方式调用参数
- cocos2dx lua优化总结
热门文章
- 几计算机网络特,湛江理工职业学校1级MS0ffice了解计算机网络的基本概念和因特网...
- 3.22 3.23 二九三十C语言基础
- 弊润落幅跨越60%的无5野婆司
- 关于手机的三大谣传 千万不可信
- C语言十个数中求出平均值
- Linux平台下动态链接库.so转换成windiws平台下.dll文件并使用python调用
- 首次回收重型猎鹰火箭全部助推器,SpaceX再创历史!...
- springcloud 项目maven依赖:Failure to find org.springframework.cloud:spring-cloud-dependencies
- 基于Pix4Dmapper的大疆精灵4无人机影像处理
- 搜狗搜索事业部总经理:从识图搜索谈未来大势