hdu 相遇周期

发布时间:2016-12-10 3:32:14 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"hdu 相遇周期",主要涉及到hdu 相遇周期方面的内容,对于hdu 相遇周期感兴趣的同学可以参考一下。

相遇周期 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 445 Accepted Submission(s): 242 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    此代码是看了牛人的,太给力啊 #include<stdio.h> #include<string.h> __int64 gcd(__int64 a,__int64 b) {  while(a>b?(a%=b):(b%=a)); return a+b; } int main() { int t;  __int64 a,b,c,d;  scanf("%d",&t);   while(t--)  {   scanf("%I64d/%I64d%I64d/%I64d",&a,&b,&c,&d);  a=a*d*c*b/gcd(a*d,c*b);   b=b*d;  if(a%b)  { c=gcd(a,b); printf("%I64d/%I64d\n",a/c,b/c); }   else printf("%I64d\n",a/b);  }   return 0; }

上一篇:WPF: 使用Flow Document (流文档)
下一篇:jquery中获取键盘按键

相关文章

相关评论