POJ 3358 Period of an Infinite Binary Expansion
2013-12-11 03:22
513 查看
题目链接:http://poj.org/problem?id=3358
题意:将分数p/q化成小数二进制后,输出循环开始的位置和循环的长度。
思路:
题意:将分数p/q化成小数二进制后,输出循环开始的位置和循环的长度。
思路:
int p,q; int main() { int num=0; while(scanf("%d/%d",&p,&q)!=-1) { int r=Gcd(p,q); p/=r; q/=r; int x=1; while(q%2==0) x++,q>>=1; int temp=eular(q); int i,ans=INF; for(i=1;i*i<=temp;i++) if(temp%i==0) { if(myPow(2,i,q)==1) ans=min(ans,i); if(myPow(2,temp/i,q)==1) ans=min(ans,temp/i); } printf("Case #%d: %d,%d\n",++num,x,ans); } }
相关文章推荐
- design a text edit
- 解决Eclipse/MyEclipse中js中文乱码
- 2013长春区域赛小结
- CRONTAB syntax error
- 在这信息发达的今天做什么站好呢
- 20131210
- Oozie — What Why and How
- tvm install
- 局部内部类为什么只能访问final局部变量?
- Rome to Intger
- Rome to Intger
- 常见的排序算法之Java代码解释
- 全国城市经纬度数据
- Windows批处理BAT字符串操作 && Windows批处理函数编程
- 文件管理系统
- 比特币
- javaSE注解的学习
- c++中冒号(:)和双冒号(::)的用法
- FFmpeg架构之I/O模块分析 .
- Android做客户端,PC做服务器端,SSLSocket通信,双向认证