讨论 / 讨论计算结果是否越界
eudiwffe 2015-12-12 07:22:59
点我顶贴 收藏 删除
使用int类型计算,实际上已经溢出了,但系统评判居然是AC,使用long long 则有一条(第9条)错误。

#include <stdio.h>

int main()

{

int N,k,res,r;

while(scanf("%d %d",&k,&N)!=EOF){

for(res=0,r=1;N;N>>=1){

res += (N&1)*r;

r*=k;

}

printf("%d\n",res);

}

return 0;

}

#1 mingx1@2016-10-23 01:04:37
回复 删除
是的,我也郁闷了半天,这个评测是有问题的
#2 liaoyu@2017-01-23 20:32:14
回复 删除
tong gan

回复 #1 mingx1:

查看更多回复
提交回复