精华内容
下载资源
问答
  • 明明是相遇问题,搞什么莫名其妙的最小公倍数? 题目链接 HDU 1713 相遇周期. 题目: 分析: 从题目就可以看出来 26501/6335 :就是转26501圈要6335天 18468/42 :就是转18468圈要42天 第一个差不多一天跑十圈 第...

    明明是相遇问题,搞什么莫名其妙的最小公倍数?

    题目链接 HDU 1713 相遇周期.

    题目:

    在这里插入图片描述

    分析:

    从题目就可以看出来

    26501/6335   :就是转26501圈要6335天
    18468/42	 :就是转18468圈要42天
    

    第一个差不多一天跑十圈

    第二个差不多一天跑四百多圈

    答案告诉我相遇周期一千多万天????

    在这里插入图片描述

    反正我是这么解的,还解不出来

    在这里插入图片描述

    AC代码

    迫于淫威还是煞有介事的写了。。。
    package Two;
    
    import java.util.Scanner;
    
    public class T1713 {
    	public static long gcd(long m, long n) {
    		if (n == 0) return m;
    		else return gcd(n, m % n);
    	}
    
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int t = sc.nextInt();
    		while (t-->0) {
    			String s1 = sc.next();
    			String ss1[] = s1.split("/");
    			String s2 = sc.next();
    			String ss2[] = s2.split("/");
    			long q1 = Long.valueOf(ss1[0]);
    			long t1 = Long.valueOf(ss1[1]);
    			long a=gcd(q1,t1);
    			q1/=a;
    			t1/=a;
    			long q2 = Long.valueOf(ss2[0]);
    			long t2 = Long.valueOf(ss2[1]);
    			long b=gcd(q2,t2);
    			q2/=b;
    			t2/=b;
    			long ans=q1*q2/gcd(q1,q2);
    			long time = gcd(t1,t2);
    			System.out.println(ans + (time == 1 ? "": ("/" + time)));
    		}
    	}
    }
    
    
    展开全文
  • 题目描述:解题思路: 个人感觉这个题目说反了,应该为天/圈的。不过也不影响做题。就按照题目的思路来吧,比如,10/1一天转10圈,和5/1一天转5圈的,相遇周期为就为每10圈的...分数的最小公倍数=两分子的最小公倍...

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1713
    题目描述:在这里插入图片描述解题思路:

    个人感觉这个题目说反了,应该为天/圈的。不过也不影响做题。就按照题目的思路来吧,比如,10/1一天转10圈,和5/1一天转5圈的,相遇周期为就为每10圈的时候它们会相遇。其实仔细观察,会发现这题考察的就是分数的最小公倍数。
    划重点!!!
    分数的最小公倍数=两分子的最小公倍数/两分母的最大公约数
    然后本题还涉及一个分数化简的知识,
    再划重点!!!
    分数化简:找出分数里分子和分母的最大公约数,上下整除即可。
    牢记上面两大重点即可解决本题。

    ac代码:

    #include<stdio.h>
    
    typedef long long int ll;
    
    ll gcd(ll a,ll b){
    	//获得最大公约数 
    	return ((b == 0)?a:gcd(b,a%b));
    }
    
    ll lcm(ll num1,ll num2){
    	//获得最小公倍数 
    	return (num1*num2)/(gcd(num1,num2));
    }
    int main(){
    	int t;
    	scanf("%d",&t);
    	while(t--){
    		ll a1,a2,b1,b2,c;
    		ll ans1,ans2;
    		scanf("%lld/%lld",&a1,&b1);//代表第一个分数 
    		scanf("%lld/%lld",&a2,&b2);//代表第二个分数
    		//(分数化简)首先找出一个分数的分子分母的最大公约数,然后上下整除它 
    		c = gcd(a1,b1);
    		a1 = a1 / c;
    		b1 = b1 / c;
    		c = gcd(a2,b2);
    		a2 = a2 / c;
    		b2 = b2 / c;
    		
    		
    		ans1 = lcm(a1,a2);//求出两个分数的分子的最小公倍数 
    		
    		ans2 = gcd(b1,b2);//求出两个分母的最大公约数 
    		
    		
    		if(ans1 % ans2 == 0){
    			ans1 = ans1 / ans2;
    			printf("%lld\n",ans1);
    		}
    		else{
    			printf("%lld/%lld\n",ans1,ans2);
    		}
    	}
    	
    	return 0;
    }
    
    展开全文
  • 笔记:求两个分数的最小公倍数 分子分母必须是最简的。求最简:用分子分母同时除以分子分母的最大公约数 分子=两个分子的最小公倍数 分母=两个分子的最大公约数 在用gcd函数返回值要用long long变量保存,不然...

    笔记:求两个分数的最小公倍数

    分子分母必须是最简的。求最简:用分子分母同时除以分子分母的最大公约数

    分子=两个分子的最小公倍数

    分母=两个分子的最大公约数

    在用gcd函数返回值要用long long变量保存,不然直接除会WA。

     

    1713 相遇周期

    Problem Description   我们的问题是已知两颗卫星的运行周期,求它们的相遇周期。

    Input     输入数据的第一行为一个正整数T, 表示测试数据的组数. 然后是T组测试数据. 每组测试数据包含两组正整数,用空格隔开。每组包含两个正整数,表示转n圈需要的天数(26501/6335,表示转26501圈要6335天),用'/'隔开。

    Output  对于每组测试数据, 输出它们的相遇周期,如果相遇周期是整数则用整数表示,否则用最简分数表示。

    Sample Input

    2

    26501/6335 18468/42

    29359/11479 15725/19170

    Sample Output

    81570078/7

    5431415

    #include <iostream>
    using namespace std;
    long long gcd(long long a, long long b){
    	if(a<b){
    		long long temp = a;
    		a = b;
    		b = temp;
    	}
    	a = a%b;
    	if(a%b==0){
    		return b;
    	}
    	else{
    		return gcd(a,b);
    	}
    }
    long long gbs(long long n, long long m){
    	return n*m/gcd(n,m);
    }
    int main()
    {
    	int inputnum;
    	cin >> inputnum; 
    	for(; inputnum!=0; inputnum--){
    		long long afenzi,afenmu,bfenzi,bfenmu;
    		char aslash,bslash;
    		cin >> afenzi >> aslash >> afenmu >> bfenzi >> bslash >> bfenmu;
    		long long aa = gcd(afenzi,afenmu);  //不赋值会WA... 
    		long long bb = gcd(bfenzi,bfenmu);
    		afenzi = afenzi/aa;  //保证分数最简 
    		afenmu = afenmu/aa;
    		bfenzi = bfenzi/bb;
    		bfenmu = bfenmu/bb;
    		long long fenzi,fenmu;
    		fenzi = gbs(afenzi,bfenzi);
    		fenmu = gcd(afenmu,bfenmu);
    		if(fenzi%fenmu==0){
    			cout << fenzi/fenmu <<endl;
    		}
    		else{
    		    cout << fenzi << '/' << fenmu <<endl;
    		}
    	}
    	return 0;
    }

     

    展开全文
  • HDU 1713 相遇周期(数学 最大公约数与最小公倍数)

    相遇周期

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)


    Problem Description
    2007年3月26日,在中俄两国元首的见证下,中国国家航天局局长孙来燕与俄罗斯联邦航天局局长别尔米诺夫共同签署了《中国国家航天局和俄罗斯联邦航天局关于联合探测火星-火卫一合作的协议》,确定中俄双方将于2009年联合对火星及其卫星“火卫一”进行探测。

    而卫星是进行这些探测的重要工具,我们的问题是已知两颗卫星的运行周期,求它们的相遇周期。
     

    Input
    输入数据的第一行为一个正整数T, 表示测试数据的组数. 然后是T组测试数据. 每组测试数据包含两组正整数,用空格隔开。每组包含两个正整数,表示转n圈需要的天数(26501/6335,表示转26501圈要6335天),用'/'隔开。
     

    Output
    对于每组测试数据, 输出它们的相遇周期,如果相遇周期是整数则用整数表示,否则用最简分数表示。
     

    Sample Input
    2 26501/6335 18468/42 29359/11479 15725/19170
     

    Sample Output
    81570078/7 5431415
     
    /************************************************************************/

    说实话,刚拿到这题的时候,我还在纠结于题目所给的样例,我怎么也凑不出输入与输出二者的关系,按理来说,要算相遇周期,应该是经过相同时间之后,两颗卫星差整数圈,可能是我脑子短路,一开始,我愣是拿26501/6335和81570078/7相乘,可是结果偏偏不是整数,后来,偶然将26501/6335倒一下,即6335/26501,这样再和81570078/7相乘就是整数了,原来一直是我乘反了

    现在想想也是,本就该这么算,先算出跑一圈所需要的天数,这样为了将圈数凑整,就要乘以二者的最小公倍数

    于是,我们可以得到这样一个公式,对于初始给定的


    相遇周期为


    具体看代码,有不理解的再提出

    #pragma comment(linker, "/STACK:1024000000,1024000000")
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<queue>
    #include<math.h>
    #include<vector>
    #include<map>
    #include<set>
    #include<stdlib.h>
    #include<cmath>
    #include<string>
    #include<algorithm>
    #include<iostream>
    #define exp 1e-10
    using namespace std;
    const int N = 1000000;
    const int inf = 1000000000;
    const int mod = 258280327;
    __int64 gcd(__int64 x,__int64 y)
    {
        while(x!=y)
            if(x>y)
                x-=y;
            else
                y-=x;
        return x;
    }
    __int64 lcm(__int64 x,__int64 y)
    {
        return x*y/gcd(x,y);
    }
    int main()
    {
        int t;
        __int64 a,b,c,d,x,y;
        scanf("%d",&t);
        while(t--)
        {
            scanf("%I64d/%I64d%I64d/%I64d",&a,&b,&c,&d);
            x=gcd(a,b);
            a/=x;b/=x;
            x=gcd(c,d);
            c/=x;d/=x;
            x=lcm(a,c);
            y=gcd(b,d);
            if(x%y)
                printf("%I64d/%I64d\n",x,y);
            else
                printf("%I64d\n",x/y);
        }
        return 0;
    }
    菜鸟成长记


    展开全文
  • 这个题的叙述有点迷,个人的理解是首先要计算出一...求最小公倍数的算法如下:首先将两个分数约分至既约分数,随后计算出两个分子的最小公倍数(LCM)赋给最终的分子,计算出两个分母的最大公约数(GCD),最后即可得到结果
  • 2、思路:a/b和c/d的最小公倍数为e/f,则e是a和c的最小公倍数,f是b和d的最大公约数。 代码 #include <iostream> using namespace std; typedef long long int LL; LL gcd(LL a, LL b){ return a%b==0?b:...
  • 本题要求两个给定正整数的最大公约数和最小公倍数。 输入格式: 输入在一行中给出2个正整数M和N(<=1000)。 输出格式: 在一行中顺序输出M和N的最大公约数和最小公倍数。两数字间以1空格分隔。 ...
  • 最大约数函数模板 View Code 1 __int64 gcd(__int64 a,__int64 b) 2 { 3 return b==0? a:gcd(b,a%b); 4 } 相遇周期 Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/...
  • 欢迎参加——BestCoder周年纪念赛(高...相遇周期 Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2465Accepted Submission(s): 1236 Problem Descri...
  • 原题链接 同题:HDU 1713 输入c1/t1 c2/t2 ,也就是速度的分数形式,转换成:c1*t2/(t1*t2), c2*t1/( t1*t2 );...需要求出分子的最小公倍数k,然后k/( t1*t2 )就是题目求的周期 注意用 __int64,
  • 最小公倍数是lcm

    2019-10-06 03:36:41
    首先我有一个很吊的学长叫lmy,还有一个更吊的学长叫zxz 于是我打开了poj做他们做过的题。...反正能求周期求lcm,乱搞就好了,整那么多无聊的理论干啥。 转载于:https://www.cnblogs.com/Rainb/p/38...
  • 相遇周期 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3887 Accepted Submission(s): 1976 Problem Description 2007年3月26日,在中俄...
  • 【题解】   我们可以很快发现当n是奇数的时候答案就是n*(n-1)*(n-2),...当n不是3的倍数的时候答案是n*(n-1)*(n-3),这里避开(n-2)是因为它与n有公因数2使得公倍数较小,而n,n-1,n-3三个数一定互质且乘积最大。当...
  • 题目链接 要用大数,看了别人的博客,用java写的。 题意:求n个运动周期不完全相同的天体在一条直线上...分数的最小公倍数 = 分子的最小公倍数/分母的最大公约数 1 import java.util.*; 2 import java.ma...
  • 2个星球周期为a,b。则相差半周的长度为a*b/...分数的最小公倍数 = 分子的最小公倍数/分母的最大公约数 由于涉及到大数所以用java写的方便! import java.math.BigInteger; import java.util.Arrays; import java.ut
  • 设武当弟子甲招数变化周期为n,武当弟子乙招数变化周期为m,两弟子同时使用该剑法,当2人恰好同时达到招数变化周期结束时,威力最大,此时能将邪教妖人置于死地。请你计算威力最大时,每人用了多少招? 输入格式 ...
  • 有四种情感,周期分别为23,28,33,他们第一次高峰期的时间分别为p,e,i,从第d天以后,第一次三种高峰期在同一天是什么时候。这个题和素数筛选有相同的思路,我们要求的日期减去各自第一次的日期对各个周期取余肯定...
  • 题目大意:有n个行星,给出每个行星的旋转的周期。问最少多少时间后n个行星会在一条直线...t1),要在一条直线上,一定会执行的相差半个周期倍数,时间(t/t2 - t/t1) % (1/2) = 0。也就是t*(t1-t2)/(t1*t2)%(1/2)...
  • 欧几里德算法是计算两个数最大约数的传统算法,无论从理论还是从实际效率上都是很好的。但是却有一个致命的缺陷,这个缺陷在素数比较小的时候一般是感觉不到的,只有在大素数时才会显现出来。 一般实际应用中的...
  • 大致题意:求n个运动周期不全然同样的天体在一条直线上的周期。 这题我是看解题报告写的,没想到选用參照物,用到了物理中的角速度什么的。 由于n个天体的周期已知,那么它们的角速度为vi = 2*pi/Ti,若...
  • 3 假设已知两个圆周运动的物体的周期分别是a ,b, 设每隔时间t就会在同一条直线上 4 在同一条直线上的条件是 角度之差为 PI ! 5 那么就有方程 (2PI/a - 2PI/b)* t=PI 所以就有 t=ab/(2|a-b|); 6 如果有多个...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 178
精华内容 71
关键字:

周期最小公倍数