• 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 }
  • 相关阅读:
    学习中的坑
    友链
    CF1131E String Multiplication 题解
    CF438E The Child and Binary Tree 题解
    [WC2005]友好的生物题解
    [IOI2016]shortcut 题解
    CF911F [Tree Destruction] 题解
    状压dp技巧之轮廓线 hdu1400/poj2411acwing291 蒙德里安的梦想
    TG-WC2021 笔记
    拯救世界2题解
  • 原文地址:https://www.cnblogs.com/--HPY-7m/p/11620408.html
Copyright © 2020-2023  润新知