zoukankan      html  css  js  c++  java
  • Openjudge 2.2-2.3 递归与递推

    2.2.1755&2.3.1760

    斐波那契数列的递归与递推

    2.3.1760

    描述

    菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面(2)个数之和。

    给出一个正整数a,要求菲波那契数列中第(a)个数对(1000)取模的结果是多少。

    输入

    (1)行是测试数据的组数(n),后面跟着(n)行输入。每组测试数据占(1)行,包括一个正整数(a)((1 leq a leq 10^6))。

    输出

    (n)行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第(a)个数对(1000)取模得到的结果。

    样例输入

    4
    5
    2
    19
    1
    

    样例输出

    5
    1
    181
    1
    

    分析:数据规模大,而且有取模运算,可以使用数组
    (TLE)了因为递归规模太大改用递推)

    (AC)代码

    #include <algorithm>
    #include <cstdio>
    #include <cmath>
    #include <cstring>
    #define K 1000
    using namespace std;
    int f[1000005],y=0;
    int main(){
    	scanf("%d",&y);
    //	printf("yy%d
    ",y);
    	f[1]=1;f[2]=1;
    	for(int i=3;i<=1000005;i++){
    		f[i]=(f[i-1]%K+f[i-2]%K)%K;
    	}
    	while(y--){
    	//	printf("i %d 3
    ",y);
    		int a;
    		scanf("%d",&a);
    		printf("%d
    ",f[a]);
    	}
    	return 0;
    }
    

    为啥本地编译的时候初始值(y=4)之后突然变成(y=130)呢...奇怪

    2.2.1755

    描述

    菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。

    给出一个正整数(a),要求菲波那契数列中第(a)个数是多少。

    输入

    第1行是测试数据的组数(n),后面跟着(n)行输入。每组测试数据占1行,包括一个正整数(a)((1 leq a leq 20))

    输出

    输出有(n)行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第(a)个数的大小

    样例输入与输出

    同上


    分析:数据规模小,可以递推

    AC代码

    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <cmath>
    using namespace std;
    int n;
    #define K 1000
    int m(int p){
    	if(p==1) return 1;
    	if(p==2) return 1;
    	else return m(p-1)+m(p-2);
    }
    int main(){
    	memset(a,0,sizeof(a));
    	scanf("%d",&n);
    	while(n--){
    		int a;
    		scanf("%d",&a);
    		printf("%d",m(a));
    		printf("
    ");
    	}
    	return 0;
    	
    }
    
    要做就做南波万
  • 相关阅读:
    【重点】Java大厂面试10个知识点汇总
    TEC-2机微程序设计
    Component 'TABCTL32.OCX'错误的处理方法
    Azure DevOps的使用入门
    Mac + VMware Fusion + Windows 11尝鲜
    Golang接口类型-下篇
    Golang接口类型-上篇
    基于Python实现原生的登录验证码
    一套帮助你理解C语言的测试题(转)
    KMP算法详解
  • 原文地址:https://www.cnblogs.com/liuziwen0224/p/11991538.html
Copyright © 2011-2022 走看看