博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 3358 Period of an Infinite Binary Expansion
阅读量:6721 次
发布时间:2019-06-25

本文共 486 字,大约阅读时间需要 1 分钟。

题目链接:

题意:将分数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);    }}

  

转载地址:http://mlcmo.baihongyu.com/

你可能感兴趣的文章
int.Parse
查看>>
光纤跳线
查看>>
day02:管道符、shell及环境变量
查看>>
php设计模式——适配器模式
查看>>
C#文件、文件夹操作
查看>>
MySQL编译安装加入service
查看>>
以rsync进行同步镜像备份
查看>>
热烈祝贺VMware View4.5荣获“2010年度最佳产品”大奖
查看>>
ORACLE 11G 中表空间传输 TransportableTablespace
查看>>
自动化1
查看>>
Jenkins 2.32.3参数化构建maven项目
查看>>
使用Oracle存储过程批量生成测试数据
查看>>
正则表达式 - ×××
查看>>
Target runtime Apache Tomcat v6.0 is not defined
查看>>
.net密码找回
查看>>
安装mysql遇到的问题
查看>>
我的友情链接
查看>>
大道至简--GoEasy推送
查看>>
免费邮箱服务器(收藏)
查看>>
org.aspectj.lang.JoinPoint-中文简要API
查看>>