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

    http://poj.org/problem?id=3101

    这道题就是求所有分子的最小共倍数和分母的最大公约数。

     1 import java.math.BigInteger;
     2 import java.util.*;
     3 import java.util.Arrays;
     4 public class Main {
     5     public static void main(String []args)
     6     {
     7         Scanner cin=new Scanner(System.in);
     8         int n=cin.nextInt();
     9         int f2[]=new int[n];
    10         BigInteger f[]=new BigInteger[2000];
    11         BigInteger a[]=new BigInteger[2000];
    12         BigInteger b[]=new BigInteger[2000];
    13         BigInteger m1=new BigInteger("2");
    14         for(int i=0; i<n; i++)
    15         {
    16             f2[i]=cin.nextInt();
    17         }
    18         Arrays.sort(f2);
    19         int c=1;
    20         f[0]=BigInteger.valueOf(f2[0]);
    21         for(int i=1; i<n; i++)
    22         {
    23             if(f2[i]!=f2[i-1]) 
    24             {
    25                 f[c++]=BigInteger.valueOf(f2[i]);
    26             }
    27         }
    28         int c1=0;
    29         for(int i=1; i<c; i++)
    30         {
    31             a[c1]=(f[i].subtract(f[i-1])).multiply(m1);
    32             b[c1]=f[i].multiply(f[i-1]);
    33             BigInteger m=a[c1].gcd(b[c1]);
    34             a[c1]=a[c1].divide(m);
    35             b[c1]=b[c1].divide(m);
    36             c1++;
    37         }
    38         BigInteger ans1=a[0];
    39         BigInteger ans2=b[0];
    40         BigInteger ans;
    41         for(int i=1; i<c1; i++)
    42         {
    43             ans1=ans1.gcd(a[i]);
    44             ans=ans2.multiply(b[i]);
    45             ans2=ans.divide(ans2.gcd(b[i]));
    46         }
    47         ans=ans1.gcd(ans2);
    48         System.out.println(ans2.divide(ans)+" "+ans1.divide(ans));
    49         
    50     }
    51 }
    View Code
  • 相关阅读:
    HDOJ 1025 Constructing Roads In JGShining&#39;s Kingdom
    HDOJ 1274 展开字符串
    HDOJ 1503 Advanced Fruits
    Codeforces Round #187 (Div. 2) A,B
    HDOJ 1160 FatMouse&#39;s Speed
    HDOJ 1267 下沙的沙子有几粒?
    HDOJ 1224 Free DIY Tour
    山娃向大家问好啦。
    开发系统建议
    打开web全屏
  • 原文地址:https://www.cnblogs.com/fanminghui/p/3762850.html
Copyright © 2011-2022 走看看