zoukankan      html  css  js  c++  java
  • NYOJ114 某种序列

     

    某种序列

    时间限制: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
    
    
    
     1 #include<stdio.h>
     2 #include<string.h>
     3 int a[40],b[40],c[40];
     4 
     5 void add(int *a,int *b,int *c)
     6 {
     7  int i;
     8  for(i=0;i<40;++i)
     9  {
    10   a[i]=a[i]+b[i]+c[i];
    11   a[i+1]+=a[i]/10;
    12   a[i]=a[i]%10;
    13  }
    14 }
    15 int main()
    16 {
    17  int A,B,C,i;
    18  while(scanf("%d%d%d",&A,&B,&C)!=EOF)
    19  {
    20   i=0;
    21   memset(a,0,sizeof(a));
    22   memset(b,0,sizeof(b));
    23   memset(c,0,sizeof(c));
    24   while(A||B||C)
    25   {
    26    a[i]=A%10;
    27    A/=10;
    28    b[i]=B%10;
    29    B/=10;
    30    c[i]=C%10;
    31    C/=10;
    32    ++i;
    33   }
    34   for(i=3;i<99;i+=3)
    35   {
    36    add(a,b,c);
    37    add(b,a,c);
    38    add(c,a,b);
    39   }
    40   add(a,b,c);
    41   i=39;
    42   while(i>0&&a[i]==0)
    43    --i;
    44   if(i==0)//注意输入三个0的情况
    45   {
    46    printf("%d\n",a[0]);
    47    continue;
    48   }
    49   for(;i>=0;--i)
    50    printf("%d",a[i]);
    51   printf("\n");
    52  }
    53  return 0;
    54 }
    
    
    
     
    功不成,身已退
  • 相关阅读:
    swt 更新主UI线程
    java中 快捷键输入System.out.println();
    原型设计工具
    JAVA笔记
    转:java读取配置文件的几种方法
    Server Message Block
    安全标识符
    BitLocker:如何启用网络解锁
    imageX.exe
    组策略首选项
  • 原文地址:https://www.cnblogs.com/dongsheng/p/2540152.html
Copyright © 2011-2022 走看看