您的位置:首页 > 其它

【CodeForces】[614A]Link/Cut Tree

2016-04-07 07:08 316 查看


因为pow会有精度丢失

所以使用了一直自乘

对于最大值

因为res有可能超出__int64

所以终止条件只需要在res自乘前写

res>r/k

效果等同于在循环开始时写

res>r (因为此时已经执行res=res*k)

#include<stdio.h>
int main() {

//  freopen("input.txt","r",stdin);
//  freopen("ACoutput.txt","w",stdout);

__int64 l,r,k;
while(scanf("%I64d %I64d %I64d",&l,&r,&k)!=EOF) {
bool flag=false;
__int64 res=1;
while(1) {
if(res>=l&&res<=r) {
printf("%I64d ",res);
flag=true;
}
if(res>r/k)
break;
res*=k;
}
if(!flag)
printf("-1");
printf("\n");

}
return 0;
}


题目地址:【CodeForces】[614A]Link/Cut Tree
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  codeforces