Mastermate官网 香港|英国|新加坡|澳大利亚|澳门|深圳硕士研究生申请平台

输出越界问题 和 long long 的两数加法问题

做hdu  http://acm.hdu.edu.cn/showproblem.php?pid=2047   阿牛的牛肉串有感

注意方面一  测试 边界的数值  考虑会不会越界~~~

注意方面二   在使用时注意这一点 如下文 直接相加 和赋值后相加不一样 //pay more attention

代码:

#include<stdio.h>
long long a[44];
long long b[44];
long long sum;
int main()
{
  int i,n;
  a[1]=2;b[1]=1;
  for(i=2;i<=40;i++)
  {
    a[i]=2*(a[i-1]+b[i-1]);
    b[i]=a[i-1] ;                                  
  }
   while(scanf("%d",&n)!=EOF)
   {
    sum=a[n]+b[n];                                                  //注意这里的使用
   printf("%I64d\n",sum);                                         //不能直接替换成 a[n]+b[n] 不在long long范围之内

   }

}





 

posted @ 2012-05-08 13:35  大嘴鸟  阅读(388)  评论(0编辑  收藏  举报
Mastermate官网 香港|英国|新加坡|澳大利亚|澳门|深圳硕士研究生申请平台