Hdu 1250 Hat's Fibonacci

模拟高精度加法

模拟高精度。

第一天由于输入的时候判断是否为0,结果果断超时。额。。。结果第二天重新写的时候马上AC了。泪奔!

CODE:

#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;

const int maxn = 535;

int fibo1[maxn];
int fibo2[maxn];
int fibo3[maxn];
int fibo4[maxn];
int result[maxn];



void output() //输出 
{
    int i;
    for(i = maxn -1; i >= 0 && result[i] == 0; i--);
    printf("%d", result[i--]);      //不输出前导0 
    for(; i >= 0; i--)
    {
        printf("%04d", result[i]);
    }
    printf("\n");
    return ;
}

void init() //预处理 
{
    memset(fibo1, 0sizeof(fibo1));
    memset(fibo2, 0sizeof(fibo2));
    memset(fibo3, 0sizeof(fibo3));
    memset(fibo4, 0sizeof(fibo4));
    memset(result, 0sizeof(result));
    return ;



int main()
{
    int n;
    while(~scanf("%d", &n))     //while(~scanf("%d", &n), n) 果断超时。
    {
        int i, j;
        if(n <= 4)
        {
            printf("1\n");
            continue;
        }
        init();       //预处理 
        fibo1[0] = fibo2[0] = fibo3[0] = fibo4[0] = 1;
        int carry = 0;            //进位 
        for(i = 5; i <= n; i++)  //模拟加法 
        {
            for(j = 0; j < maxn; j++)
            {
                result[j] = fibo1[j]+fibo2[j]+fibo3[j]+fibo4[j] + carry;
                carry = result[j] / 10000;
                result[j] -= carry*10000;
            }    
            memcpy(fibo1, fibo2, sizeof(fibo1));
            memcpy(fibo2, fibo3, sizeof(fibo2));
            memcpy(fibo3, fibo4, sizeof(fibo3));
            memcpy(fibo4, result, sizeof(fibo4)); // 迭代 
        }
        output();
    }
    return 0;

} 

转载于:https://www.cnblogs.com/g0feng/archive/2012/07/21/2603063.html

乐播投屏是一款简单好用、功能强大的专业投屏软件,支持手机投屏电视、手机投电脑、电脑投电视等多种投屏方式。 多端兼容与跨网投屏:支持手机、平板、电脑等多种设备之间的自由组合投屏,且无需连接 WiFi,通过跨屏技术打破网络限制,扫一扫即可投屏。 广泛的应用支持:支持 10000+APP 投屏,包括综合视频、网盘与浏览器、美韩剧、斗鱼、虎牙等直播平台,还能将央视、湖南卫视等各大卫视的直播内容一键投屏。 高清流畅投屏体验:腾讯独家智能音画调校技术,支持 4K 高清画质、240Hz 超高帧率,低延迟不卡顿,能为用户提供更高清、流畅的视觉享受。 会议办公功能强大:拥有全球唯一的 “超级投屏空间”,扫码即投,无需安装。支持多人共享投屏、远程协作批注,PPT、Excel、视频等文件都能流畅展示,还具备企业级安全加密,保障会议资料不泄露。 多人互动功能:支持多人投屏,邀请好友加入投屏互动,远程也可加入。同时具备一屏多显、语音互动功能,支持多人连麦,实时语音交流。 文件支持全面:支持 PPT、PDF、Word、Excel 等办公文件,以及视频、图片等多种类型文件的投屏,还支持网盘直投,无需下载和转格式。 特色功能丰富:投屏时可同步录制投屏画面,部分版本还支持通过触控屏或电视端外接鼠标反控电脑,以及在投屏过程中用画笔实时标注等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值