poj3358:欧拉定理】的更多相关文章

题意:给你一个分数,求它在二进制下的循环节的长度,还有第一个循环节从哪一位开始. For example, x = 1/10 = 0.0001100110011(00110011)w and 0001100110011 is a preperiod and 00110011 is a period of 1/10. 思路一: 我们可以观察一下1/10这组数据,按照二进制转换法(乘二法),我们可以得到: 1/10 2/10 4/10 8/10 16/10 32/10 ... 然后都分子都尽可能减去…
又是一道用欧拉定理解的题..嗯,关键还是要建好方程,注意一些化简技巧 题目大意: 给定一个由 p / q 生成的循环小数,求此循环小数在二进制表示下的最小循环节以及不是循环节的前缀 思路: 小数化为二进制,应该乘2取余, 设从小数的第x位开始有长度为y的循环节, 先把 p/q 化为最简分数,此时p,q互质 则应该满足 同余方程 p*2^x=p*2^(x+y) mod q 整理一下可得  q | p*2^x*(2^y - 1) 由于 p,q互质,则q | 2^x*(2^y - 1) 此时 由于 2…
http://poj.org/problem?id=3358 (初始状态为分数形式)小数点进制转换原理:n / m ; n /= gcd( n , m ) ; m/= gcd( n , m ) ; n = n % m ; for( i : 0 to .....) n *= k ; bit[ i ] = n / m;(保留每一位的数值) n %= m ; 题意:求n/m的小数点位的循环数列的长度和起始位置: 现在假设起始循环的第i个数为n,记作ni :那么第j个数n,则是nj:这时循环数列出现,那…
感觉很不错的数学题,可惜又是看了题解才做出来的 题目大意:给定一个数n,找到8888....(x个8)这样的数中,满足能整除n的最小的x,若永远无法整除n 则输出0 做了这个题和后面的poj3358给我的感觉是这种复杂的数学题一定要哦上手去写,光想永远是想不出来的= = 做法: 基于欧拉定理:若gcd(a,m)=1 ,则满足 a^φ(m)  mod m=1, 即   a-1=k*m 88888(x个8)可以表示为 (10^x-1)/9*8,整除n 于是可以设 (10^x-1)/9*8=n*k ,…
2^x mod n = 1 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 9231    Accepted Submission(s): 2837 Problem Description Give a number n, find the minimum x(x>0) that satisfies 2^x mod n = 1.   In…
M斐波那契数列 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 3024    Accepted Submission(s): 930 Problem Description M斐波那契数列F[n]是一种整数数列,它的定义如下:F[0] = aF[1] = bF[n] = F[n-1] * F[n-2] ( n > 1 )现在给出a, b…
题目描述: 题意: 就是给定一个a/b,求a/b的结果变成二进制之后的小数.这个小数后面会有一段循环节,只要求输出循环节开始循环的位置和循环长度. 分析: 这题我是这么想的,比如说样例中的1/5,我们可以像平时列竖式那样算,不过要先把a和b转成二进制,然后在二进制的条件下计算. 当余数重复的时候,答案的小数部分就开始出现循环节了.我们回想一下做竖式时的过程:我们是每次把在余数后面加一个0,然后除以b,而留下来余数继续这样做.当余数重复的时候开始出现循环节.我们每次在后面加一个0的过程,因为是在二…
题意: 平面上有n个端点的一笔画,最后一个端点与第一个端点重合,即所给图案是闭合曲线.求这些线段将平面分成多少部分. 分析: 平面图中欧拉定理:设平面的顶点数.边数和面数分别为V.E和F.则 V+F-E=2 所求结果不容易直接求出,因此我们可以转换成 F=E-V+2 枚举两条边,如果有交点则顶点数+1,并将交点记录下来 所有交点去重(去重前记得排序),如果某个交点在线段上,则边数+1 //#define LOCAL #include <cstdio> #include <cstring&…
欧拉定理(称费马-欧拉定理或欧拉 函数定理) 欧拉定理表明,若n,a为正整数,且n,a互素(即gcd(a,n)=1),则 这个定理可以用来简化幂的模运算.比如计算7222的个位数,实际是求7222被10除的余数.7和10互素,且fai(10)=4.由欧拉定理知   所以   则对于(ab^c)%1000000007 根据欧拉定理, a的fai(1000000007)和1同余,那么把bc分解成(n*fai(m)+r)的形式,(ab^c) 就变成了 A(n*fai(m)+r),那么就变成了 A(n*…
描述 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=15&page=show_problem&problem=1264 给出一个一笔画的所有折点,求这个一笔画共把平面分成了几个区域(包括优先区域与无限区域). 3263 - That Nice Euler Circuit 3263That Nice Euler CircuitLittle Joey i…