zoukankan      html  css  js  c++  java
  • Resistors in Parallel(找规律+大数)

    题意:https://codeforces.com/group/ikIh7rsWAl/contest/254825/problem/E

    给你一个n,计算n / Sigma(1~n)的d(是n的只出现一次的因数)。

    思路:

    反正就是打表找规律,3组数据也能找规律,你们是真的nb嗷。

      1 import java.math.BigInteger;
      2 import java.util.Scanner;
      3  
      4 public class Main{
      5     public static void main(String[] args){
      6         Scanner cin=new Scanner(System.in);
      7  
      8         int T=cin.nextInt();
      9         BigInteger n1=new BigInteger("1");
     10         BigInteger n2=new BigInteger("2");
     11         BigInteger n3=new BigInteger("3");
     12         BigInteger n4=new BigInteger("4");
     13         BigInteger n5=new BigInteger("5");
     14         BigInteger n6=new BigInteger("6");
     15         BigInteger a[]=new BigInteger[104];
     16         a[1]=new BigInteger("2");
     17         a[2]=new BigInteger("3");
     18         a[3]=new BigInteger("5");
     19         a[4]=new BigInteger("7");
     20         a[5]=new BigInteger("11");
     21         a[6]=new BigInteger("13");
     22         a[7]=new BigInteger("17");
     23         a[8]=new BigInteger("19");
     24         a[9]=new BigInteger("23");
     25         a[10]=new BigInteger("29");
     26         a[11]=new BigInteger("31");
     27         a[12]=new BigInteger("37");
     28         a[13]=new BigInteger("41");
     29         a[14]=new BigInteger("43");
     30         a[15]=new BigInteger("47");
     31         a[16]=new BigInteger("53");
     32         a[17]=new BigInteger("59");
     33         a[18]=new BigInteger("61");
     34         a[19]=new BigInteger("67");
     35         a[20]=new BigInteger("71");
     36         a[21]=new BigInteger("73");
     37         a[22]=new BigInteger("79");
     38         a[23]=new BigInteger("83");
     39         a[24]=new BigInteger("89");
     40         a[25]=new BigInteger("97");
     41         a[26]=new BigInteger("101");
     42         a[27]=new BigInteger("103");
     43         a[28]=new BigInteger("107");
     44         a[29]=new BigInteger("109");
     45         a[30]=new BigInteger("113");
     46         a[31]=new BigInteger("127");
     47         a[32]=new BigInteger("131");
     48         a[33]=new BigInteger("137");
     49         a[34]=new BigInteger("139");
     50         a[35]=new BigInteger("149");
     51         a[36]=new BigInteger("151");
     52         a[37]=new BigInteger("157");
     53         a[38]=new BigInteger("163");
     54         a[39]=new BigInteger("167");
     55         a[40]=new BigInteger("173");
     56         a[41]=new BigInteger("179");
     57         a[42]=new BigInteger("181");
     58         a[43]=new BigInteger("191");
     59         a[44]=new BigInteger("193");
     60         a[45]=new BigInteger("197");
     61         a[46]=new BigInteger("199");
     62         a[47]=new BigInteger("211");
     63         a[48]=new BigInteger("223");
     64         a[49]=new BigInteger("227");
     65         a[50]=new BigInteger("229");
     66         a[51]=new BigInteger("233");
     67         a[52]=new BigInteger("239");
     68         a[53]=new BigInteger("241");
     69         a[54]=new BigInteger("251");
     70         a[55]=new BigInteger("257");
     71         a[56]=new BigInteger("263");
     72         a[57]=new BigInteger("269");
     73         a[58]=new BigInteger("271");
     74         a[59]=new BigInteger("277");
     75         a[60]=new BigInteger("281");
     76         a[61]=new BigInteger("283");
     77         a[62]=new BigInteger("293");
     78         a[63]=new BigInteger("307");
     79         a[64]=new BigInteger("311");
     80         a[65]=new BigInteger("313");
     81         a[66]=new BigInteger("317");
     82         a[67]=new BigInteger("331");
     83         a[68]=new BigInteger("337");
     84         a[69]=new BigInteger("347");
     85         a[70]=new BigInteger("349");
     86         a[71]=new BigInteger("353");
     87         a[72]=new BigInteger("359");
     88         a[73]=new BigInteger("367");
     89         a[74]=new BigInteger("373");
     90         a[75]=new BigInteger("379");
     91         a[76]=new BigInteger("383");
     92         a[77]=new BigInteger("389");
     93         a[78]=new BigInteger("397");
     94         a[79]=new BigInteger("401");
     95         a[80]=new BigInteger("409");
     96         a[81]=new BigInteger("419");
     97         a[82]=new BigInteger("421");
     98         a[83]=new BigInteger("431");
     99         a[84]=new BigInteger("433");
    100         a[85]=new BigInteger("439");
    101         a[86]=new BigInteger("443");
    102         a[87]=new BigInteger("449");
    103         a[88]=new BigInteger("457");
    104         a[89]=new BigInteger("461");
    105         a[90]=new BigInteger("463");
    106         a[91]=new BigInteger("467");
    107         a[92]=new BigInteger("479");
    108         a[93]=new BigInteger("487");
    109         a[94]=new BigInteger("491");
    110         a[95]=new BigInteger("499");
    111         a[96]=new BigInteger("503");
    112         a[97]=new BigInteger("509");
    113         a[98]=new BigInteger("521");
    114         a[99]=new BigInteger("523");
    115         a[100]=new BigInteger("541");
    116  
    117         for(int i=1;i<=T;++i){
    118             BigInteger N=cin.nextBigInteger();
    119             int flag=N.compareTo(n6);
    120             int cnt=0;
    121             BigInteger A=new BigInteger("1");
    122             BigInteger B=new BigInteger("2");
    123             if(flag==1){
    124                 BigInteger start=new BigInteger("6");
    125                 int P=3;
    126                 for(int j=1;j<=10000;j++) {
    127                     start=start.multiply(a[P]);
    128                     if(start.compareTo(N)==1)
    129                         break;
    130                     else {
    131                         cnt++;
    132                         P++;
    133                     }
    134                 }
    135                 int PP=3;
    136                 for(int j=1;j<=cnt;j++) {
    137                     BigInteger up=a[PP];
    138                     BigInteger ttt=a[PP];
    139                     ttt=ttt.add(n1);
    140                     BigInteger down=ttt;
    141                     A=A.multiply(up);
    142                     B=B.multiply(down);
    143                     PP++;
    144                 }
    145                 BigInteger gcd=A.gcd(B);
    146                 A=A.divide(gcd);
    147                 B=B.divide(gcd);
    148                 System.out.println(A+"/"+B);
    149             }
    150             else{
    151                 if(N.compareTo(n1)==0)
    152                     System.out.println("1/1");
    153                 else if(N.compareTo(n2)==0)
    154                     System.out.println("2/3");
    155                 else if(N.compareTo(n3)==0)
    156                     System.out.println("2/3");
    157                 else if(N.compareTo(n4)==0)
    158                     System.out.println("2/3");
    159                 else if(N.compareTo(n5)==0)
    160                     System.out.println("2/3");
    161                 else if(N.compareTo(n6)==0)
    162                     System.out.println("1/2");
    163             }
    164         }
    165     }
    166 }
  • 相关阅读:
    Entity SQL 初入
    ObjectQuery查询及方法
    Entity Framework 的事务 DbTransaction
    Construct Binary Tree from Preorder and Inorder Traversal
    Reverse Linked List
    Best Time to Buy and Sell Stock
    Remove Duplicates from Sorted Array II
    Reverse Integer
    Implement Stack using Queues
    C++中const限定符的应用
  • 原文地址:https://www.cnblogs.com/--HPY-7m/p/11620408.html
Copyright © 2011-2022 走看看