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);

浙公网安备 33010602011771号