俊介三

一天更新一点,一天积累一点

导航

64位整数的表示

Posted on 2013-03-07 20:10  俊介三在前进  阅读(506)  评论(0)    收藏  举报

hduoj 64位整数表示:

//在永远不死的VC6.0下可以通过
//注意,输入输出最好用printf和scanf。cout cin什么的貌似可能有问题
__int64 i=111; //范围是[-2^63, 2^63),即-9...~9... (共19位数) printf("%I64d\n",i);
scanf("%I64d",&i);

unsigned __int64 u=111;[0,2^64),即0~18...(共20位数)
printf("%I64u\n",u);
scanf("%I64u",&u);

可以尝试提交这题:

http://acm.hdu.edu.cn/showproblem.php?pid=2044

View Code
#include <stdio.h>

int main(){
    int N,a,b,i;
    scanf("%d",&N);
    __int64 arr[55];
    arr[1]=1;
    arr[2]=1;
    arr[3]=2;
    for(i=4;i<50;i++){
        arr[i]=arr[i-2]+arr[i-1];
    }
    while(N--){
        scanf("%d %d",&a,&b);
        int dest = b-a+1;//表示1到dest有多少种方法
        printf("%I64d\n",arr[dest]);
    }
    return 0;
}

 

PAT使用的是64位整数表示:

long long i=111; //范围和上述的一样
printf("%lld\n",i);

unsigned long long u=111;
printf("%llu",u);