zoukankan      html  css  js  c++  java
  • poj 3101 Astronomy

    2个星球周期为a,b。则相差半周的长度为a*b/(2*abs(a-b)),对于n个只需求这n个

    分数的最小公倍数即可!

    公式:

    分数的最小公倍数 = 分子的最小公倍数/分母的最大公约数

    由于涉及到大数所以用java写的方便!

     1 import java.math.*;
     2 import java.util.*;
     3 
     4 public class Main {
     5     public static void main(String arg[]){
     6         Scanner cin = new Scanner(System.in);
     7         int n = cin.nextInt();
     8         int an[] = new int[n];
     9         int a[] = new int[n];
    10         int b[] = new int[n];
    11         int i,j,k;
    12         for (i=0;i<n;i++)
    13             an[i] = cin.nextInt();
    14         Arrays.sort(an);
    15         for (i=1,j=1;i<n;i++)
    16             if (an[i]!=an[i-1])
    17                 an[j++] = an[i];
    18         for (i=1,k=0;i<j;i++){
    19             a[k] = (an[i] - an[i-1])*2;
    20             b[k] = an[i] * an[i-1];
    21             int t = gcd(a[k],b[k]);
    22             a[k] /= t;
    23             b[k++] /= t;
    24         }
    25         BigInteger ans1 = BigInteger.valueOf(a[0]),ans2 = BigInteger.valueOf(b[0]),ans;
    26         for (i=1;i<k;i++){
    27             ans1 = ans1.gcd(BigInteger.valueOf(a[i]));
    28             ans = ans2.multiply(BigInteger.valueOf(b[i]));
    29             ans2 = ans.divide(ans2.gcd(BigInteger.valueOf(b[i])));
    30         }
    31         ans = ans2.gcd(ans1);
    32         System.out.println(ans2.divide(ans)+" "+ans1.divide(ans));
    33     }
    34     public static int gcd(int a,int b){
    35         int t;
    36         if (a<b){
    37             t = a;
    38             a = b;
    39             b = t;
    40         }
    41         while(true){
    42             if (b==0) break;
    43             t = a;
    44             a = b;
    45             b = t%b;
    46         }
    47         return a;
    48     }
    49 }
    View Code
  • 相关阅读:
    暑假D16 T3 密道(数位DP? 打表找规律)
    暑假D16 T2 无聊 (深搜)
    暑假D14 T3 cruise(SDOI2015 寻宝游戏)(虚树+set)
    Django url
    http协议
    host文件以及host的作用
    用socket写一个简单的服务器
    python中*args **kwargs
    javascript 判断对像是否相等
    html input标签详解
  • 原文地址:https://www.cnblogs.com/xin-hua/p/3223553.html
Copyright © 2011-2022 走看看