某种序列

时间限制: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<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define N 110
int a[N];
int b[N];
int c[N];
int sum[N];
void init(int x,int a[])
{
int i=0;
while(x)
{
a[i++]=x%10;
x/=10;
}
}
int main()
{
int aa,bb,cc;
while(scanf("%d%d%d",&aa,&bb,&cc)!=EOF)
{
int i,j,t;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
init(aa,a);
init(bb,b);
init(cc,c);
for(i=3;i<=99;i++)
{
memset(sum,0,sizeof(sum));
for(j=0;j<N;j++)
{
sum[j]+=(a[j]+b[j]+c[j]);
if(sum[j]>9)
{
t=sum[j];
sum[j]=t%10;
sum[j+1]=t/10;
}
}
for(j=0;j<N;j++)
{
a[j]=b[j];
b[j]=c[j];
c[j]=sum[j];
}
}
for(j=N-1;j>0&&sum[j]==0;j--);
for(;j>=0;j--)
printf("%d",sum[j]);
printf("\n");
}
return 0;
}


最新文章

  1. Ubuntu下配置apache开启https
  2. gradle各版本下载地址
  3. 单例模式读取properties配置文件中的信息
  4. mysql insert一条记录后怎样返回创建记录的主键id,last_insert_id(),selectkey
  5. sql server 查看数据库编码格式
  6. XPath语法 在C#中使用XPath示例 【转http://www.cnblogs.com/yukaizhao/archive/2011/07/25/xpath.html】非常详细的文章
  7. HDU 5794 A Simple Chess (Lucas + dp)
  8. C# 反射 设置字段值无效的解决办法
  9. 第27条:使用“class-continuation分类”隐藏实现细节
  10. bzoj2809
  11. mac 下 安装 mongodb 数据库
  12. InnoDB 索引原理
  13. Effective Java 第三版——3. 使用私有构造方法或枚类实现Singleton属性
  14. [HAOI2015]树上操作-树链剖分
  15. Mysql半同步复制模式说明及配置示例 - 运维小结
  16. 2.1 View与ViewGroup的概念
  17. MySQL服务器线程数的查看方法详解
  18. 【转载】RabbitMQ基础知识
  19. Spark Streaming笔记
  20. Simple2D-24 Sprite 渲染树

热门文章

  1. java中的访问修饰符2
  2. 5个对话框和FileStream:文件流
  3. 12.javaweb SQL标签库
  4. 如何在Word的方框中打对号
  5. wp7图片上传服务器
  6. 初步学习Axure---整理了一下自己两周的学习成果:动态面板
  7. sql语句参数化问题
  8. 【转】【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之缓存融合技术和主要后台进程(四)
  9. Laravel的路由功能
  10. LCIS 最长公共上升子序列问题DP算法及优化