汗 这次杯具了~~进入acm队一年了,才知道__int 64 位int64 前面竟然有两个"_" ,果断伤不起啊!!
现在数一下long long 和__int64位的用法, 在gnu c中应采用的是__int64位进行编辑。在gnu c++中应当采用的是 long long 进行的编辑。
可以练一下这道题 注意下!
还有的就是~~~注意下输出的问题 在gun中用%I64d是可以的,在c++中应当使用的是 long long 输出采用的是 %lld 这就可以了~~~
具体的可以练一下 杭电上的 3n+1这道题。
http://acm.hdu.edu.cn/showproblem.php?pid=2045
g++的形式
#include<stdio.h>
int main()
{
long long a[55],b[55],sum;
int i,n;
a[1]=1;
b[1]=0;
for(i=2;i<=54;i++)
{
a[i]=b[i-1];
b[i]=2*a[i-1]+b[i-1];
}
while(scanf("%d",&n)!=EOF)
{ if(n==0){printf("0\n");continue;}
if(n==1){printf("3\n");continue;}
else {sum=3*b[n];printf("%I64d\n",sum);}
}
}
gcc的形式
#include<stdio.h>
int main()
{
__int64 a[55],b[55],sum;
int i,n;
a[1]=1;
b[1]=0;
for(i=2;i<=54;i++)
{
a[i]=b[i-1];
b[i]=2*a[i-1]+b[i-1];
}
while(scanf("%d",&n)!=EOF)
{ if(n==0){printf("0\n");continue;}
if(n==1){printf("3\n");continue;}
else {sum=3*b[n];printf("%I64d\n",sum);}
}
}
原文链接: https://www.cnblogs.com/ysh-blog/archive/2012/05/08/2490941.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/49707
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!