题意:

判断一个分数在某一进制下是否为无限小数。

思路:

首先把这个分数约分,然后便是判断。

首先,一个分数是否为无限小数,与分子是无关的,只与分母有关。

然后,再来看看10进制的分数,可化为有限小数的特点,10为分母可以,2为分母可以,16为分母可以,40为分母可以。。。。

总之,其实全部都与2和5有关,2和5又是10的质因数,所以可以猜想到,如果分母可以分解为进制的质因子的乘积,那么就可以化为有限小数。

所以,就判断q的质因子是否为b的子集。

每次求出q与b的最大公约数g,那么g必须可以全部包含q的质因子,所以q /= g,b = g,然后一直这样做,直到g为1,最后再判断q能否整除b。

代码:

 #include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
typedef long long ll;
ll gcd(ll a,ll b)
{
if (b == ) return a;
else return gcd(b,a%b);
}
int main()
{
int n;
scanf("%d",&n);
ll p,q,b;
while (n--)
{
scanf("%lld%lld%lld",&p,&q,&b);
ll t = gcd(p,q);
p /= t;
q /= t;
if (p == ) puts("Finite");
else
{
while (b % q)
{
ll g = gcd(b,q);
if (g == ) break;
b = g;
q /= g;
}
if (b % q == ) puts("Finite");
else puts("Infinite");
}
}
return ;
}

codeforces 983A Finite or not?的更多相关文章

  1. CodeForces 984C Finite or not?

    http://codeforces.com/problemset/problem/984/C Time limit    1000 msMemory limit    262144 kB 题目 You ...

  2. CodeForces - 984C——Finite or not?分数整除问题(数论,gcd)

    题目传送门 题目描述:给你一个p/q,让你求在b进制下,这个小数是不是有限小数. 思路: 先来膜拜一个大神的博客,如何求小数的二进制表达,(感谢博主肘子zhouzi).然后小数的其他进制表达也一样. ...

  3. Codeforces Round #483 (Div. 2) C. Finite or not?

    C. Finite or not? time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  4. 【数论】Codeforces Round #483 (Div. 2) [Thanks, Botan Investments and Victor Shaburov!] C. Finite or not?

    题意:给你一个分数,问你在b进制下能否化成有限小数. 条件:p/q假如已是既约分数,那么如果q的质因数分解集合是b的子集,就可以化成有限小数,否则不能. 参见代码:反复从q中除去b和q的公因子部分,并 ...

  5. 【Codeforces Round #483 (Div. 2) C】Finite or not?

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 有个性质. 如果p/q是分数的最简形式. 那么p/q能化成有限小数. 当且仅当q的质因数分解形式中只有质因子2和5 (且不能出现其他 ...

  6. codeforces 86D : Powerful array

    Description An array of positive integers a1, a2, ..., an is given. Let us consider its arbitrary su ...

  7. Codeforces Round #331 (Div. 2) E. Wilbur and Strings dfs乱搞

    E. Wilbur and Strings Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/596 ...

  8. Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) B. Little Artem and Grasshopper 模拟题

    B. Little Artem and Grasshopper 题目连接: http://www.codeforces.com/contest/669/problem/B Description Li ...

  9. 【cf 483 div2 -C】Finite or not?(数论)

    链接:http://codeforces.com/contest/984/problem/C 题意 三个数p, q, b, 求p/q在b进制下小数点后是否是有限位. 思路 题意转化为是否q|p*b^x ...

随机推荐

  1. lvs与haproxy

    最近一直在看一些高可用性的负载均衡方案,当然那些f5之类的硬件设备是玩不起也接触不到了.只能看这些for free的开源方案. 目前使用比较多的就是标题中提到的这两者,其实lvs和haproxy都是实 ...

  2. Java-ServletRequestListener-ServletRequestAttributeListener

    /** * A ServletRequestListener can be implemented by the developer * interested in being notified of ...

  3. DiskLruCache硬盘缓存技术详解

    上次讲了使用内存缓存LruCache去加载很多图片而不造成OOM,而这种缓存的特点是在应用程序运行时管理内存中的资源(图片)的存储和释放,如果LruCache中有一张图片被释放了,再次加载该图片时需要 ...

  4. html5 jqueryrotate插件实现旋转动画

    CSS3 提供了多种变形效果,比如矩阵变形.位移.缩放.旋转和倾斜等等,让页面更加生动活泼有趣,不再一动不动.然后 IE10 以下版本的浏览器不支持 CSS3 变形,虽然 IE 有私有属性滤镜(fil ...

  5. Linux权限与命令间的关系

    极重要!权限与命令间的关系: 我们知道权限对於使用者帐号来说是非常重要的,因为他可以限制使用者能不能读取/创建/删除/修改文件或目录! 在这一章我们介绍了很多文件系统的管理命令,第六章则介绍了很多文件 ...

  6. JDBC详解(汇总)

    from:http://www.cnblogs.com/lee/archive/2007/08/25/869656.html:http://blog.csdn.net/lovesomnus/artic ...

  7. obj-c编程14:Cocoa和Cocoa Touch简介

    这一篇篇幅相对少很多,几乎没有代码,全部都要靠本猫的语言组织能力啊!Cocoa框架在前面讲解F库时曾简单做过介绍,现在再具体说一说喽.各位童鞋是否已经发现鸟,前面所写的所有代码都是基于终端(或称之为c ...

  8. xml与object 之间的ORM

    xml映射为object对象,同时object对象,以xml来表示: public class Tools { private static XmlNodeList SelectNodes(strin ...

  9. azkaban报错记录

    问题信息:Failed to build job executor for job o2o_get_file_ftp1Job type 'command ' is unrecognized. Coul ...

  10. nginx日志中添加请求的response日志

    换个新公司,做一些新鲜的事情,经过一天的琢磨,终于成功添加response日志 在nginx的日志中添加接口response的日志 由于此功能在nginx内置的功能中没有,需要安装第三方模块ngx_l ...