8619 公约公倍

Description

给定六个正整数a,b,c,d,e,f;问你是否存在整数既是a,b,c的最大公约的倍数,同时又是d,e,f的最小公倍数的约数。

输入格式

输入为多case输入,每个case只有一行,每行六个正整数。当输入6个0时结束。

输出格式

存在输出YES,否则输出:NO

输入样例

32 40 16 20 30 24
0 0 0 0 0 0

输出样例

YES

提示

32,40,16的最大公约数是:8;而20,30,24的最小公倍数为120,显然存在整数(如24),既是8的倍数,又是120的约数

#include<cstdio>
int gcd(int a,int b)
{
    return b==0?a:gcd(b,a%b);
}
int main()
{
    int a, b, c, d, e, f, i, j,k, k1, k2;
    int t=0;
    while (1)
    {
        k1 = k2 = 0;
        scanf("%d%d%d%d%d%d", &a, &b, &c, &d, &e, &f);
        if (!a&&!b&&!c&&!d&&!e&&!f)
            break;
        b=gcd(a,b);
        k1=gcd(b,c);
        if(d>=e&&d>=f)  k=d;
        if(e>=d&&e>=f)  k=e;
        else k=f;
        j=1;
        while(1)
        {
            t=j*k;
            if(t%d==0&&t%e==0&&t%f==0) break;
            else j++;
        }
        /*此处在求三个数的最小公倍数时,先找到三个数中最大的数k,
        随着t=j*k,当t%d==0&&t%e==0&&t%f==0时,t就是满足条件的LCM*/
        for (i = k1, j = 1; i <= t / 2; j++, i = j * k1)
            if (t % i == 0)
                break;
        if (i > t / 2)
            printf("NO\n");
        else
            printf("YES\n");
    }
    return 0;
}

时间: 2024-08-23 15:24:48

8619 公约公倍的相关文章

JSK-391 公约公倍【入门】

公约公倍 输入两个正整数,求其最大公约数和最小公倍数. 输入格式 每行输入两个正整数 a,b(1≤a,b≤10^4). 输出格式 输出两行,分别是 a,b的最大公约数和最小公倍数. 样例输入 2 3 样例输出 1 6 问题链接:JSK-391 公约公倍 问题描述:(略) 问题分析: 这是一个数论问题,计算最大公约数是用欧几里德算法实现的,而且是递归实现.最小公倍数则根据数论中的公式进行计算. 程序说明:(略) 参考链接:(略) 题记: 数论问题是常见的程序设计问题. 功能封装到函数. AC的C语

algorithm

几种基本算法 贪心,递归,公约公倍,二分,素因子分解,进制转换,大数. 二叉树,bfs,dfs,背包,动态规划,最短路,最小生成树,拓扑,区间最大数,表达式求值 卡特兰,斯特灵数(2类). 突然意识到了写博客的重要性,好久没写正儿八经的博客了,以后多写

计蒜客第八场

1.公约公倍 输入两个正整数,求其最大公约数和最小公倍数.  输入格式 每行输入两个正整数 a,b(1≤a,b≤10 e4  ).  输出格式 输出两行,分别是 a,b的最大公约数和最小公倍数. #include<iostream> using namespace std; int gcd(int a,int b){ if(b==0) return a; else{ return gcd(b,a%b); } } int main(){ int a,b; cin>>a>>

不太完美的四则运算

拖啊拖,终于记得把它上传了! 题目 写一个能自动生成小学四则运算题目的命令行"软件",分别满足下列各种需求.下面这些需求都可以用命令行参数的形式来指定: a.)除了整数以外,还支持真分数的运算.(例如1/6+1/8=7/24). b.)让程序能接受用户输入的答案,并判断对错.最后给出总对/错的数量. c.)逐步扩展功能和可以支持的表达式类型,最后希望能支持下面类型的题目(最多10个运算符,括号的数量不限制): 25-3*4-2/2+89=?          1/2+1/3-1/4=?

孟道骥《代数学基础》2.1&quot;分式域&quot;习题解答

1.试问一个域$\mathbb F$的分式域是什么? 解答    由于$\mathbb F$的分式域是包含他的最小的域,而$\mathbb F$本身已是域,所以说$\mathbb F$的分式域就是自己. 2.证明Gsuss整数环$\mathbb Z[\sqrt{-1}]$是交换整环,并求其分式域? 证明    由于$\mathbb Z[\sqrt{-1}]=\{a+b\sqrt{-1}|a,b\in\mathbb Z\}\subset\mathbb C$,容易验证其满足子环的两个条件,因此$\m

【初等数论】 02 - 整除与公约数

当从这里开始的时候,你的行囊里不需要太多的东西,只要会整数的加减乘除即可.东西多了不仅帮不了你,反而会成为前进的负担.正如在前两篇中一样,你需要首先抛开一切固有思维,清空大脑,带着孩童般的好奇心重新认识这个世界.由于数论经常出现于奥数和智力题中,它往往被当成一种智力游戏,但随着研究的深入,你需要建立一套理论才能看清本质.我们可以从最简单的定义出发,利用理性思维建立这些理论.做题是学习数论的必经途径,你需要在不断地思考中才能有更深刻的理解,但这里我只打算叙述最基础的思想和结论. 1. 整除 数论研

51nod1548 欧姆诺姆和糖果

思路: 只有兩種糖果,枚舉其中一種糖果的數量就可以得到一個可行解: 但總有一種糖果的數量是較少的,並且該數量小於sqrt(C): 簡單證明: 1.若有任一糖果的質量大於sqrt(C),則必定有一糖果的數量小於sqrt(C): 2.若兩種糖果質量均小於sqrt(C),則可能存在兩種糖果數量均大於sqrt(C)的解,但對於這種情況,可以做如下轉換: 因爲兩種糖果質量均小於sqrt(C),則必定可以找到一個數公倍數K(K<C),然後將K全部用其中一種糖填滿,以達到總質量不變的情況下令較少的糖果數量小於

网易公开课倍速播放

  最近在看网易公开课的视频,无奈的是网易不提供倍速播放.想到html5中video中有playbackRate属性(chrome&&safari),可以以此来实现自定义倍速播放.   注意到网页源代码里有这一段: 网易直接提供了m3u8的地址,利用正则提取出来换上mp4即为视频源地址. 通过设置display为none可以屏蔽原来的flash播放器.  下面只要document.createElement来创建所需的video等再添加进body即可显示HTML5的视频.设置video.p

【免费公测】阿里云SSD云盘,不仅仅是IO提速10倍

今天很高兴为大家介绍最新的ECS存储服务:SSD云盘. SSD云盘基于全SSD存储介质.利用阿里云飞天分布式存储技术,提供数据可靠性99.999%的高性能存储:该产品具备以下特点: l  高性能:单个SSD云盘最高提供10000随机读写IOPS.160MB/s吞吐量的存储性能: l  高可靠性:SSD云盘采用分布式三副本机制,提供99.999%的数据可靠性: l  每GB提供30 IOPS:每GB容量提供30个随机IOPS能力,最大提供10000随机读写IOPS性能:比如100GB的SSD云盘,