long long __int 64 的用法

汗 这次杯具了~~进入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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值