POJ - 3358 Period of an Infinite Binary Expansion 欧拉函数

Windows 11 上保姆级教程:用 Ollama 把阿里通义千问(Qwen)变成你的本地AI助手(附Spring AI集成避坑指南) 本文详细介绍了在Windows 11上使用Ollama部署阿里通义千问(Qwen)大语言模型的保姆级教程,包括环境准备、模型管理、Spring AI集成及生产环境优化策略。通过科学部署和避坑指南,帮助开发者高效构建本地AI助手,提升开发效率。 阅读详情

题目:将一个分数化成小数,转化成二进制后寻找循环节的开始位置和循环节的长度

思路:

对于分数p/q,首先化简,变为p=p/gcd(p,q)  q=q/gcd(p,q)
我们知道转化成二进制,其实就是不断乘2,如果大于1,则去掉1,当前位为1,否则为0.
表示成分数的时候便是p/q,2*p/q,如果分子大于分母,则减掉,也相当于取余。
于是我们假设在第x位的时候开始循环,第y位出现重复。
而出现循环在分数上便是分母和分子都相同,由于在这里分母是不变的,只考虑分子
那么(p*2^x)%q=(p*2^y)%q ;
p*2^x(2^(y-x)-1)%q=0;
把q中2的幂次去掉,幂次就是x
变为:2^(y-x)=1%q,就可以用欧拉函数了

代码:

#pragma comment(linker, "/STACK:1024000000,1024000000")
#include<iostream>
#include<algorithm>
#include<ctime>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#include<vector>
#include<map>
#include<set>
#include<queue>
#include<stack>
#include<list>
#include<numeric>
using namespace std;
#define LL long long
#define ULL unsigned long long
#define INF 0x3f3f3f3f3f3f3f3f
#define mm(a,b) memset(a,b,sizeof(a))
#define PP puts("*********************");
template<class T> T f_abs(T a){ return a > 0 ? a : -a; }
template<class T> T gcd(T a, T b){ return b ? gcd(b, a%b) : a; }
template<class T> T lcm(T a,T b){return a/gcd(a,b)*b;}
// 0x3f3f3f3f3f3f3f3f

const int maxn=1e5+50;
LL fac[maxn];
int tol;
LL phi(LL n){
    LL res=n;
    for(LL i=2;i*i<=n;i++)
        if(n%i==0){
            res=res-res/i;
            while(n%i==0){
                n/=i;
            }
        }
    if(n>1)
        res=res-res/n;
    return res;
}
LL pow_mod(LL a,LL b,LL MOD){
    LL res=1%MOD;
    while(b){
        if(b&1) res=res*a%MOD;
        a=a*a%MOD;
        b/=2;
    }
    return res;
}
void get_fac(LL n){
    tol=0;
    for(LL i=1;i*i<=n;i++){
        if(n%i==0){
            fac[tol++]=i;
            fac[tol++]=n/i;
        }
    }
}
int main(){

    int cas=0;
    LL p,q;
    while(~scanf("%lld/%lld",&p,&q)){
        LL d=gcd(p,q);
        p/=d;
        q/=d;
        LL x=1,y;
        while(q%2==0&&q>0){
            x++;
            q/=2;
        }
        LL num=phi(q);
        get_fac(num);
        sort(fac,fac+tol);
        for(int i=0;i<tol;i++){
            if(pow_mod((LL)2,fac[i],q)==1){
                y=fac[i];
                break;
            }
        }
        printf("Case #%d: %lld,%lld\n",++cas,x,y);
    }
    return 0;
}


【误码率仿真】基于matlab 小波变换OFDM误码率仿真 其中,与传统的 OFDM 相比,小波变换 OFDM 在进行调制和解调时,使用的是小波变换函数。需要注意的是,由于小波变换函数将频域信号转换为时域信号,因此与传统 OFDM 不同,小波变换 OFDM 中的信号需要在时域上添加循环前缀。与传统的 OFDM 不同,小波变换 OFDM 使用小波函数作为基函数,而非正弦函数作为基函数,因此可以在保持子载波正交性的同时,让子载波之间的带宽变得更加均匀。在频域进行信号加权,然后进行小波逆变换,得到时域信号。在接收端进行信号接收,去掉循环前缀并进行小波变换得到频域信号。 阅读详情

相关推荐

ANSYS 有限元分析 接触分析

目 录一、前沿二、接触单元类三、接触单元关键选项3.1 CONTA174 KeyOption3.2 TARGE170 KeyOption四、接触分析标准步骤4.1 定义实常数4.2 定义接触和目标单元4.3 创建接触和目标单元五、接触分析实例5.1 MPC5.2 标准接触六、尾声七、参考文献 阿阳的 ANSYS 使用指南,本文仅用于个人学习,除此之外,无其他任何用途。 ANSYS 有限元分析 概述 ANSYS 有限元分析 坐标系/工作平面 ANSYS 有限元分析 几何建模 ANSY

Hulunbuir 4万+

POJ3358Period of an Infinite Binary Expansion-欧拉定理最小解问题

Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3711   Accepted: 1051 Description Let {x} = 0.a1a2a3... be the binary representation of the fractional part of a rational ...

红点雷龙XL 330

Lumerical FDTD新手必看:从零开始搭建光子晶体仿真环境(附完整脚本)

本文为Lumerical FDTD新手提供光子晶体仿真环境的完整搭建指南,涵盖从基础参数设置到脚本编写的全流程。通过典型光子晶体带隙分析案例,详细讲解结构建模、仿真参数配置及后处理技巧,并附赠完整MATLAB脚本,帮助用户快速掌握FDTD仿真核心技术。

3c4x5z6v7b的博客 1050

POJ-3358Period of an Infinite Binary Expansion

题目: http://poj.org/problem?id=3358 题意: 给出一个分数,求该分数的小数部分循环节起点与长度。 思路: 相当神奇的一道题,真真是毫无思路。 挣扎无果之后看网上的解题报告也是混乱,后来看到一个写得比较清楚的终于豁然开朗: http://blog.youkuaiyun.com/tsaid/article/details/7304212 简单地说就是利用欧拉定理

MyWorld 545

XC7Z010-1CLG400C开发板ADC引脚配置全攻略(附完整引脚列表)

本文详细解析了XC7Z010-1CLG400C开发板的ADC引脚配置方法,涵盖XADC模块基础、CLG400封装的引脚布局、硬件设计规范及Vivado工程配置实战。特别提供了完整的引脚列表和性能优化技巧,帮助开发者高效实现模拟信号采集,适用于Zynq-7000系列开发。

weixin_29188043的博客 465

工业组态软件Intouch(单机版)入门{第二篇}

第5步:*都装好之后,需要进行测试授权是否生效,测试1:能否正常运行项目和编辑项目(能否编辑项目,取决于你的授权是否包含开发功能,如果只是单一的runtime授权,则只能运行项目,不能编辑项目)。在线第3步:点击第一个框右边的按钮,弹出文件浏览窗口,选中你的XMl授权文件,打开,然后你的授权出现在下方的列表中,勾选你的授权,然后点击Activate,等待几秒,授权就会出现在管理器页面的列表中,并且Status会显示Activated。第1步:软件安装好之后,先要配置好授权服务器。等待几秒,激活完成。

weixin_41571357的博客 1万+

POJ 3358 Period of an Infinite Binary Expansion 欧拉函数+欧拉定理

题意:输入一个有理数p/q(保证是一个小数),然后将其小数部分用二进制表示。求出在此种表示下的循环起点和循环节长度 {x} = 0.a1a2...ar(ar+1ar+2...ar+s)w 题解:来自Discuss 我们可以观察一下1/10这组数据,按照二进制转换法(乘二法),我们可以得到: 1/10  2/10 4/10 8/10 16/10 32/10 ... 然后都分子都尽可能减去1

1695

利用SPSS实现逻辑回归,树模型,以及广义线性模型

本案例是IBM SPSS数据分析与挖掘实战案例精粹----第九章的学习记录 案例背景:分析出导致急救后迟发性颅脑损伤的主要影响因素,共有201项案例: 分析思路:先使用logistic回归模型进行影响因素筛选,然后利用分类树探索自变量中是否存在交互作用,最后利用广义线性模型过程拟合带交互项的Logistic回归模型 字段:性别,年龄,收缩压,舒张压,血小板,脑挫伤,中线位移,脑肿胀,入院意识,是否手术急救,其余急救措施,是否出现迟发性脑损伤; ...

hepan_defeng的博客 1万+

poj3358 Period of an Infinite Binary Expansion 数论有难度

这道题目感觉好难,根本就是无从下手的感觉,尝试了以前的所有方法,都没有思路,毫无进展,参考了一下别人的思路,感觉学到了新的知识 接下来开始分析 观察1/10这组数据,按照二进制转化法可以得到: 1/10 2/10 4/10 8/10 16/10 32/10.…… 对于每一个分子进行模10处理 可以相应的得到:    1/10 2/10 4/10 8/10 6/10 2/

shaonianguai 1052

Qt6.8.0(win64)安装教程

启动 Visual Studio 2022 Community,选择 “继续但无需代码” 运行,然后打开Option设置,Add一条版本配置,Location 选择 D:\Qt\6.8.0\msvc2022_64\bin\qmake,点击确定。我是win11系统,所以选择windows版,下载路径二选一即可。方案1:默认情况下,额外勾选图中两个组件(总共40多G)方案2:按图中自定义勾选组件(总共5.8G)选择Custom Installation。我选的方案2,总共5.81G。

D4G1TIAO的博客 9060

[ vulhub漏洞复现篇 ] ActiveMQ反序列化漏洞复现(CVE-2015-5254)

Apache ActiveMQ是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持Java消息服务、集群、Spring Framework等。由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。Apache ActiveMQ 5.13.0之前5.x版本中存在安全漏洞,该漏洞源于程序没有限制可在代理中序列化的类。......

qq_51577576的博客 4444

POJ 3358 Period of an Infinite Binary Expansion(欧拉定理)

Period of an Infinite Binary Expansion Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3646   Accepted: 1021 Description Let {x} = 0.a1a2a3... be the binary

信仰.的博客 970

热红外图像小目标检测算法综述

热红外小目标检测算法综述,着重介绍基于深度学习的小目标检测算法

Littro Innovations 4244

POJ 3358- Period of an Infinite Binary Expansion(欧拉函数+欧拉定理)

Period of an Infinite Binary Expansion Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Practice POJ 3358 Appoint description:  System Crawler  (201

Rocky0429 1963

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

POJ 3358 Period of an Infinite Binary Expansion 解题报告(欧拉函数+因式分解)

Period of an Infinite Binary Expansion Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2891   Accepted: 768 Description Let {x} = 0.a1a2a3... be the binary

SF-_- 的 ACM 博客 1404

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

POJ3358 Period of an Infinite Binary Expansion【欧拉函数】

题目大意: 输入一个有理数,形式为分数形式p/q,令{x}为该有理数二进制形式的小数部分,且{x}具有循环 性,{x} = 0.A1A2A3…Ar(Ar+1Ar+2…Ar+s)^w。循环从r+1位开始,循环节为s。 现在称x1 = A1A2A3…Ar为{x}的循环前缀,x2 = Ar+1Ar+2…Ar+s为{x}的循环部分。 现在让循环前缀的长度和循环部分的长度尽可能小。求最小循环部分的起始位置以及最小 的循环长度。 例如:1/10 = 0.0001100110011(00110011)^w,0001100

程序员充电站(itcharge) 1237

Period of an Infinite Binary Expansion POJ - 3358 欧拉函数

题目链接Let {x} = 0.a1a2a3... be the binary representation of the fractional part of a rational number z. Suppose that {x} is periodic then, we can write{x} = 0.a1a2...ar(ar+1ar+2...ar+s)wfor some integers

wood 603

poj 3358 Period of an Infinite Binary Expansion(欧拉函数+欧拉定理)

Period of an Infinite Binary Expansion Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2769   Accepted: 718 Description Let {x} = 0.a1a2a3... be the binary r

WEYuLi的专栏 913

POJ 3358 Period of an Infinite Binary Expansion ★ (数论好题:欧拉函数)

题目链接:http://poj.org/problem?id=3358 题目大意:给定一个真分数p/q,求出在此种表示下的循环起点和循环节长度:{x} = 0.a1a2...ar(ar+1ar+2...ar+s)w 我们可以观察一下1/10这组数据,按照二进制转换法(乘二法),我们可以得到: 1/10 2/10 4/10 8/10 16/10 32/10 ... 然后都分子都模10...

weixin_30297281的博客 79

poj 3358 Period of an Infinite Binary Expansion(欧拉函数+快速幂取模)

Language: Default Period of an Infinite Binary Expansion Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3124   Accepted: 833 Description Let {x} = 0.a1a

youngkl博客 749

poj 3358 Period of an Infinite Binary Expansion(数论:欧拉函数+快速幂取模)

不太好理解题意的一道题 给出一个除式 要求找到对应二进制的循环起点和最小循环节长度 这里还考察了分数化小数的知识点。。。 这点不会难怪看题解都觉得很吃力 1/10 分数化小数的规律如下: 0.1 0.2 0.4 0.8 1.6 1.2 0.4(每次取左侧一位×2,如果大于10,小数位取1,再把这一位%10) 0    0    0   0    1    1    0 以1/

小华在努力~ 444

POJ 3358 Period of an Infinite Binary Expansion 经典数论:欧拉函数+欧拉定理+快速幂取模

Period of an Infinite Binary Expansion Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3707 ...

pxlsdz的博客 547

POJ 3358 Period of an Infinite Binary Expansion

传送门:http://poj.org/problem?id=3358 Description Let {x} = 0.a1a2a3… be the binary representation of the fractional part of a rational number z. Suppose that {x} is periodic then, we can write {x} = 0.a...

桃夭丶的博客 3285

Period of an Infinite Binary Expansion-----欧拉函数,欧拉定理

题目:http://poj.org/problem?id=3358 这一题很经典。 题解:源于http://www.cnblogs.com/ACKOKO/articles/2119216.html 这里讲一下2^i*(2^(j-i)-1)%q==0,为什么将q中的2的个数是i,因为2^i中的i要尽量小(i是循环的前一位,题目要求i要小),并且要满足去除q中所有的2,所以i要等于q中的2的个数

wk476855的专栏 1156

POJ - 3358 Period of an Infinite Binary Expansion(欧拉定理)

题目链接:点击查看 题目大意:给出一个小于1的分数形式p/q来表示一个的有理数,我们需要求出以二进制展开的循环小数中,开始循环的第一个点和循环周期是多少 题目分析:我们首先要知道分数如何转换成k进制的小数,这里给出一段模拟除法的小函数可以实现这个功能: for(int i=0;i<需要转换的位数;i++) { p*=k; b[i]=p/q; p%=q; }...

Falcon的博客 469
上一篇: HDU - 4349 Xiao Ming's Hope lucas定理
下一篇: HDU - 2065 "红色病毒"问题 泰勒级数推导
我不会额
博客等级 码龄11年 2粉丝 173原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值