zoukankan      html  css  js  c++  java
  • hdu 1713 相遇周期

    其实,说得简单明了的一点,就是求俩个分数的最小公倍数;

    方法:先将俩个分数转换成最简形式,在求出俩个分母的最大公约数最为最小公倍数的分母,求出俩个分子的最小公倍数做为最小公倍数的分子即可;

    当我把我的代码改得面目全非的时候,我才发现了我WA的原因,

    求最小公倍数的时候

    int lcd(int u,int v,int h)
    {
        return(u*v/h);//这步溢出了
    }

    应该改为

    int lcd(int u,int v,int h)
    {
        return(u/h*v);
    }

    #include<iostream>
    using namespace std;
    int n;
    int hcf(int a,int b)
    {
        int r=0;
        while(b!=0)
            {
            r=a%b;
            a=b;
            b=r;
            }
        return(a);
    } 
    int lcd(int u,int v,int h)
    {
        return(u/h*v);
    }
    int main()
    {
    	int a,b,c,d;
    	scanf("%d",&n);
    	while(n--)
    	{
    			scanf("%d/%d",&a,&b);
    			scanf("%d/%d",&c,&d);
    			int h1=hcf(a,b);
    			a/=h1;b/=h1;
    			int h2=hcf(c,d);
    			c/=h2;d/=h2;
    			if(hcf(b,d)==1)printf("%d\n",lcd(a,c,hcf(a,c)));
    			else printf("%d/%d\n",lcd(a,c,hcf(a,c)),hcf(b,d));
    		}
    	return 0;
    }
    
  • 相关阅读:
    五子棋项目
    判断是否是素数
    双链表
    九九乘法表
    栈和队列
    c排序
    蓝桥杯 接水问题 模拟
    蓝桥杯 调和数列问题
    蓝桥杯 Hanoi问题 递归
    蓝桥杯 排列问题
  • 原文地址:https://www.cnblogs.com/nanke/p/2169125.html
Copyright © 2011-2022 走看看