CF983A Finite or not?】的更多相关文章

题意:给出分母,分子和进制,要求判断该数是否为有限小数. Solution 表示并不知道怎么判断. 度娘:“一个分数在最简分数的情况下,如果它的分母只含有2和5两个质因数,这个分数就能化成有限小数.”. 感觉这个和进制有些关系,因为2和5恰好是进制10质因数分解后的结果. 那么问题变成了判断分母所含的质因数是否都为进制的质因数. 用辗转相处法求解. 注意最开始要讲分式化简(直接化简应该没有问题). Code #include<iostream> #include<cstdio> u…
题面 一个$b$进制最简分数是有限循环小数当且仅当其分母没有与$b$不同的质因子,小学数奥内容水过 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; long long T,n,m,b,g; long long gcd(long long a,long long b) { return b?gcd(b,a%b):a; } int main () { scanf(&quo…
思路: 如果p,q不互质,先把q除以p,q的最大公约数.接下来只要b中包含了所有q的质因子就可以了.可以在gcd(q, b) 不等于1的时候不断地用q除以gcd(q, b).最后如果q等于1,说明Finite,否则Infinite.这样搞复杂度是O(n * log2(1018)),可以有一个简单的小优化:在循环除过程中,gcd(q, b)肯定是单调不增的,当gcd(q, b)不变的时候,一次性把q里面的gcd(q, b)全除尽,省去了大量欧几里得算法求gcd的时间,这样的话时间复杂度大约是O(n…
状态机(Finite State Machine):状态机由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动       作.完成特定操作的控制中心. 类别: ~ 若输出只和状态有关而与输入无关,则称为Moore状态机      ~ 输出不仅和状态有关而且和输入有关系,则称为Mealy状态机 关于状态机的一个极度确切的描述是它是一个有向图形,由一组节点和一组相应的转移函数组成.状态机通过响应一系列事件而"运行".每个事件都在属于"…
Contents [hide]  1 Description 2 Components 3 C# - FSMSystem.cs 4 Example Description This is a Deterministic Finite State Machine framework based on chapter 3.1 of Game Programming Gems 1 by Eric Dybsend. Therea are two classes and two enums. Includ…
some books describe pumping lemma as this: Let L be a regular language. Then there exists an integer p ≥ 1 depending only on L such that every string w in L of length at least p (p is called the "pumping length"[4]) can be written as w = xyz (i.…
题意: 判断一个分数在某一进制下是否为无限小数. 思路: 首先把这个分数约分,然后便是判断. 首先,一个分数是否为无限小数,与分子是无关的,只与分母有关. 然后,再来看看10进制的分数,可化为有限小数的特点,10为分母可以,2为分母可以,16为分母可以,40为分母可以.... 总之,其实全部都与2和5有关,2和5又是10的质因数,所以可以猜想到,如果分母可以分解为进制的质因子的乘积,那么就可以化为有限小数. 所以,就判断q的质因子是否为b的子集. 每次求出q与b的最大公约数g,那么g必须可以全部…
C. Finite or not? time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output You are given several queries. Each query consists of three integers pp, qq and bb. You need to answer whether the result o…
You are given several queries. Each query consists of three integers pp, qq and bb. You need to answer whether the result of p/qp/q in notation with base bb is a finite fraction. A fraction in notation with base bb is finite if it contains finite num…
题意:给你一个分数,问你在b进制下能否化成有限小数. 条件:p/q假如已是既约分数,那么如果q的质因数分解集合是b的子集,就可以化成有限小数,否则不能. 参见代码:反复从q中除去b和q的公因子部分,并缩小该公因子,继续尝试.直到q没有和b的公共因子为止,如果q变成了1,那么有限,否则无限. #include<cstdio> #include<algorithm> using namespace std; typedef long long ll; int T; ll q,p,b;…