NYOJ 114 某种序列(大数加)

原创 2016年08月28日 17:27:24

某种序列

时间限制:3000 ms  |  内存限制:65535 KB
难度:4
描述
数列A满足An = An-1 + An-2 + An-3, n >= 3 
编写程序,给定A0, A1 和 A2, 计算A99
输入
输入包含多行数据 
每行数据包含3个整数A0, A1, A2 (0 <= A0, A1, A2 <= 100000000) 
数据以EOF结束
输出
对于输入的每一行输出A99的值
样例输入
1 1 1
样例输出
69087442470169316923566147

#include <cstdio>
#include <string.h>
int main()
{
    int a[120][120];
    int a0, a1, a2, p, q, i, j;
    while(scanf("%d %d %d", &a0, &a1, &a2) == 3){
        memset(a, 0, sizeof(a));
        i = 0;
        if(a0 == 0 && a1 == 0 && a2 == 0){
            printf("%d\n",0);continue;
        }
        while(a0){
            a[0][i++] = a0 % 10;
            a0 /= 10;
        }i = 0;
        while(a1){
            a[1][i++] = a1 % 10;
            a1 /= 10;
        }i = 0;
        while(a2){
            a[2][i++] = a2 % 10;
            a2 /= 10;
        }
        for(i = 3; i <= 99; i++){
            q = 0, p = 0 ;
            for(j = 0; j <= 110; j++){
                p = a[i-1][j] + a[i-2][j] + a[i-3][j] + q;
                a[i][j] = p % 10;
                q = p / 10;
            }
        }
        for(i = 109; i >= 0; i--)
            if(a[99][i] != 0) break;
        for(j = i; j >= 0; j--)
            printf("%d", a[99][j]);
        printf("\n");
    }
    return 0;
}


版权声明:本文为博主原创文章,如能转载,不胜荣幸。

给定n个矩阵{A1, A2, …,An},其中,Ai与Ai+1是可乘的,计算这n个矩阵的连乘积。从中找出一种乘次数最少的计算次序(矩阵连乘最优顺序Java语言实现

矩阵连乘最优顺序Java语言实现 给定n个矩阵{A1, A2, …,An},其中,Ai与Ai+1是可乘的,计算这n个矩阵的连乘积。从中找出一种乘次数最少的计算次序 问题描述: 矩阵连乘问题 给定n...
  • Liuchuang_MFC
  • Liuchuang_MFC
  • 2015年10月30日 17:45
  • 1783

数据结构与算法——给定整数A1,A2,....An,....(可能有负数),求该数据序列的最大子序列的和

求最大的子序列和问题
  • Linux_ever
  • Linux_ever
  • 2016年01月05日 20:17
  • 1301

算法提高 矩阵链乘

问题描述   有n个矩阵,大小分别为a0*a1, a1*a2, a2*a3, ..., a[n-1]*a[n],现要将它们依次相乘,只能使用结合率,求最少需要多少次运算。   两个大小分别为p*q...
  • qq_33245342
  • qq_33245342
  • 2017年02月10日 14:01
  • 740

wikioi1688 求逆序对

题目描述 Description 给定一个序列a1,a2,…,an,如果存在i并且ai>aj,那么我们称之为逆序对,求逆序对的数目   数据范围:N5。Ai5。时间限制为1s...
  • zhb1997
  • zhb1997
  • 2014年09月05日 23:12
  • 1338

矩阵乘法——区间DP

问题描述   有n个矩阵,大小分别为a0*a1, a1*a2, a2*a3, ..., a[n-1]*a[n],现要将它们依次相乘,只能使用结合率,求最少需要多少次运算。   两个大小分别为p...
  • qq_20200047
  • qq_20200047
  • 2017年03月31日 20:31
  • 105

2017蓝桥杯:k倍区间(前缀和)

标题: k倍区间给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列Ai, Ai+1, … Aj(i ...
  • za30312
  • za30312
  • 2017年04月08日 17:19
  • 1371

动态规划之最大子段和问题

有一由n个整数组成的序列A={a1,a2,…an,},求该序列如 a[i]+a[i+1]+…+a[j]的子段和的最大值。如果序列中全部是负数则最大子段和为0,依此定义,所求的最优值max{0,a[i...
  • cxs123678
  • cxs123678
  • 2017年11月21日 19:16
  • 95

蓝桥杯 k倍区间(前缀和)

标题: k倍区间 给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i ...
  • qq_27601815
  • qq_27601815
  • 2017年04月26日 19:17
  • 307

Divisors(屈辱的一道题。。。)

给定 m 个不同的正整数 a1; a2; …..; am,请对 0 到 m 每一个 k 计算,在区间 [1; n] 里有多少正整数是 a 中恰好 k 个数的约数Input 第一行包含两个正整数 n;...
  • wu_tongtong
  • wu_tongtong
  • 2017年07月18日 14:16
  • 161

NYOJ-1058部分和问题

描述 给定整数a1、a2、.......an,判断是否可以从中选出若干数,使它们的和恰好为K。 输入首先,n和k,n表示数的个数,k表示数的和。 接着一行n个数。 (1 输出如果和恰好可以为k...
  • qq_35562816
  • qq_35562816
  • 2016年07月28日 21:37
  • 311
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NYOJ 114 某种序列(大数加)
举报原因:
原因补充:

(最多只允许输入30个字)