POJ 3101 大数+gcd】的更多相关文章

题目大意: 星星作圆周运动的周期给出,若已连成一条线,下一次所有星星在同一条线上的时间 用分数形式输出 这里我们可以利用追及问题来计算出两个星星之间连成一条直线的时间,也即速度快的星星追上速度慢的星星弧度PI t = PI /abs (2PI / t1 - 2PI / t2) = t1 * t2 / (2 * abs(t1 - t2)) 这样前面作为分子后面作为分母,每次得到一个分数记得利用gcd化简 然后把所有两两得到的时间差求个最小公倍数 分数的最大公倍数是分子求最小公倍数, 分母求最大公约…
题目链接 要用大数,看了别人的博客,用java写的. 题意:求n个运动周期不完全相同的天体在一条直线上的周期. 分析:两个星球周期为a,b.则相差半周的长度为a*b/(2*abs(a-b)),对于n个只需求这n个 分数的最小公倍数即可. 分数的最小公倍数 = 分子的最小公倍数/分母的最大公约数   import java.util.*; import java.math.*; public class Main { public static int [] t = new int [1200];…
http://poj.org/problem? id=3101 大致题意:求n个运动周期不全然同样的天体在一条直线上的周期. 这题我是看解题报告写的,没想到选用參照物,用到了物理中的角速度什么的. 由于n个天体的周期已知,那么它们的角速度为vi = 2*pi/Ti,若统一选第0个天体为參照物,那么其余天体的相对速度vi' =  2*pi*(T0-Ti)/(T0*Ti)(把周期T同样的天体合为一个天体).则与第0个天体角度相差180度的时间为ti = (T0*Ti)/((T0-Ti)*2). 那么…
模板 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<time.h> #include<iostream> #include<string.h> #include<math.h> #include<algorithm> using namespace std; //*********************************…
2个星球周期为a,b.则相差半周的长度为a*b/(2*abs(a-b)),对于n个只需求这n个 分数的最小公倍数即可! 公式: 分数的最小公倍数 = 分子的最小公倍数/分母的最大公约数 由于涉及到大数所以用java写的方便! import java.math.*; import java.util.*; public class Main { public static void main(String arg[]){ Scanner cin = new Scanner(System.in);…
http://acm.sdut.edu.cn:8080/vjudge/contest/view.action?cid=259#problem/C Description Recall the definition of the Fibonacci numbers: f1 := 1 f2 := 2 fn := fn-1 + fn-2 (n >= 3) Given two numbers a and b, calculate how many Fibonacci numbers are in the…
UVA10494:If We Were a Child Again 大数除法加取余 import java.util.Arrays; import java.util.Scanner; import java.math.*; public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); BigInteger a,b; String s; while(cin.ha…
题意:求\((n-m)t+Lk=x-y\)的解\(t\) #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<cstdlib> #include<cmath> #include<string> #include<vector> #include<stack> #include<qu…
本题涉及的算法个人无法完全理解,在此提供两个比较好的参考. 原理 (后来又看了一下,其实这篇文章问题还是有的……有时间再搜集一下资料) 代码实现 #include <algorithm> #include <cmath> #include <cstdio> #include <cstdlib> #include <cstring> #include <iostream> using namespace std; #define ll…
代码: import java.math.*; import java.util.Scanner; public class Main { public static void main(String args[]){ Scanner cin = new Scanner(System.in); BigInteger sum,a; sum = BigInteger.valueOf(0); while(true){ a = cin.nextBigInteger(); if(a.equals(BigI…