614A Link/Cut Tree
2016-01-17 17:06
176 查看
//614A Link/Cut Tree //k的n次幂,范围在[l,r],次幂爆ll的时候查水表一下 #include<bits/stdc++.h> using namespace std; typedef long long ll; const ll maxn = 10e18; int main() { ll l, r, k, ans, pre;//ans:累计乘积,pre:水表上一个ans int flag;//输出标志 cin>>l>>r>>k; ans = 1; if(l==1) cout<<1<<" "<<endl;//左限1直接输出 pre = 0; flag = 1; for(int i=1; ; i++) { ans *= k; //ans乘的时候会溢出错误,如何判断溢出,下面条件查水表,本次乘积除以上一次水表数应该是固定的基数,如果不是则溢出了 if(ans>maxn || ans<0 || pre!=0 && ans/pre!=k) break;//这里的pre!=0并不是除零判断,而是表示pre更新过了(当然也可以说从第二个数开始) pre = ans; if(l<=ans && ans<=r) { cout<<ans<<" "<<endl; flag = 0; } else if(ans<l) continue; else if(ans>r) break; } if(flag && l!=1) cout<<"-1"<<endl;//没有任何输出则输出-1 return 0; }
相关文章推荐
- Mac常用功能整理
- UVA10954 Add All (优先队列)
- 玻璃钢机翼
- 610C Harmony Analysis
- Java Nio 七、Java NIO Selector
- DoNet开源项目-基于Amaze UI的点餐系统
- Test注解的两个属性(转)
- Android 笔记 Intent and Bundle day7
- 610B Vika and Squares
- 610A Pasha and Stick
- MapReduce教程(一)基于MapReduce框架开发
- 0117 面向对象OOP有关方法、类、构造方法及权限修饰符的练习
- 606A Magic Spheres
- drbd+cronsync高可用mysql一:drbd安装配置使用
- maven项目导入报错
- JAVA小项目(1)——租车系统
- 关于指针的思考与理解
- 605A Sorting Railway Cars
- hdu 1159 Common Subsequence (dp)
- 简单的dhcp 服务器(多vlan)