zoukankan      html  css  js  c++  java
  • 紫书 习题 10-11 UVa 1646(斐波那契+高精度)

    自己用手算一下可以发现是斐波那契数列,然后因为数字很大,用高精度

    以后做题的时候记得算几个数据找规律 

    #include<cstdio>
    #include<cmath>
    #include<cstring>
    #include<algorithm>
    #define REP(i, a, b) for(int i = (a); i < (b); i++)
    using namespace std;
    
    const int MAXN = 11234;
    const int MAXM = 2500;
    struct node
    {
    	int len, d[MAXM];
    	node() { len = 0; memset(d, 0, sizeof(d)); };
    }f[MAXN];
    
    node add(node a, node b)
    {
    	node c;
    	c.len = max(a.len, b.len);
    	REP(i, 0, c.len)
    	{
    		c.d[i] += a.d[i] + b.d[i];
    		if(c.d[i] >= 10) c.d[i] -= 10, c.d[i+1]++;
    	}
    	
    	if(c.d[c.len] > 0) c.len++;
    	return c;
    }
    
    void init()
    {
    	f[3].d[0] = 4; f[3].len = 1;
    	f[4].d[0] = 7; f[4].len = 1;
    	REP(i, 5, MAXN) f[i] = add(f[i-1], f[i-2]);
    }
    
    void print(node c)
    {
    	for(int i = c.len - 1; i >= 0; i--)
    		printf("%d", c.d[i]);
    	puts("");
    }
    
    int main()
    {
    	init();
    	int n;
    	while(~scanf("%d", &n))
    		print(f[n]);
    	return 0;
    }
  • 相关阅读:
    ffserver搭建服务器
    socketconnect函数详解
    ffmpeg 发送媒体流
    Android—Socket编程
    流媒体客户端的结构与原理浅析
    杭电分类:大数
    各种计时函数
    UVA465:Overflow
    杭电:sort
    CODING常见错误原因
  • 原文地址:https://www.cnblogs.com/sugewud/p/9819479.html
Copyright © 2011-2022 走看看