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

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

思路:

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

 import java.math.BigInteger;
import java.util.Scanner; public class Main{
public static void main(String[] args){
Scanner cin=new Scanner(System.in); int T=cin.nextInt();
BigInteger n1=new BigInteger("1");
BigInteger n2=new BigInteger("2");
BigInteger n3=new BigInteger("3");
BigInteger n4=new BigInteger("4");
BigInteger n5=new BigInteger("5");
BigInteger n6=new BigInteger("6");
BigInteger a[]=new BigInteger[104];
a[1]=new BigInteger("2");
a[2]=new BigInteger("3");
a[3]=new BigInteger("5");
a[4]=new BigInteger("7");
a[5]=new BigInteger("11");
a[6]=new BigInteger("13");
a[7]=new BigInteger("17");
a[8]=new BigInteger("19");
a[9]=new BigInteger("23");
a[10]=new BigInteger("29");
a[11]=new BigInteger("31");
a[12]=new BigInteger("37");
a[13]=new BigInteger("41");
a[14]=new BigInteger("43");
a[15]=new BigInteger("47");
a[16]=new BigInteger("53");
a[17]=new BigInteger("59");
a[18]=new BigInteger("61");
a[19]=new BigInteger("67");
a[20]=new BigInteger("71");
a[21]=new BigInteger("73");
a[22]=new BigInteger("79");
a[23]=new BigInteger("83");
a[24]=new BigInteger("89");
a[25]=new BigInteger("97");
a[26]=new BigInteger("101");
a[27]=new BigInteger("103");
a[28]=new BigInteger("107");
a[29]=new BigInteger("109");
a[30]=new BigInteger("113");
a[31]=new BigInteger("127");
a[32]=new BigInteger("131");
a[33]=new BigInteger("137");
a[34]=new BigInteger("139");
a[35]=new BigInteger("149");
a[36]=new BigInteger("151");
a[37]=new BigInteger("157");
a[38]=new BigInteger("163");
a[39]=new BigInteger("167");
a[40]=new BigInteger("173");
a[41]=new BigInteger("179");
a[42]=new BigInteger("181");
a[43]=new BigInteger("191");
a[44]=new BigInteger("193");
a[45]=new BigInteger("197");
a[46]=new BigInteger("199");
a[47]=new BigInteger("211");
a[48]=new BigInteger("223");
a[49]=new BigInteger("227");
a[50]=new BigInteger("229");
a[51]=new BigInteger("233");
a[52]=new BigInteger("239");
a[53]=new BigInteger("241");
a[54]=new BigInteger("251");
a[55]=new BigInteger("257");
a[56]=new BigInteger("263");
a[57]=new BigInteger("269");
a[58]=new BigInteger("271");
a[59]=new BigInteger("277");
a[60]=new BigInteger("281");
a[61]=new BigInteger("283");
a[62]=new BigInteger("293");
a[63]=new BigInteger("307");
a[64]=new BigInteger("311");
a[65]=new BigInteger("313");
a[66]=new BigInteger("317");
a[67]=new BigInteger("331");
a[68]=new BigInteger("337");
a[69]=new BigInteger("347");
a[70]=new BigInteger("349");
a[71]=new BigInteger("353");
a[72]=new BigInteger("359");
a[73]=new BigInteger("367");
a[74]=new BigInteger("373");
a[75]=new BigInteger("379");
a[76]=new BigInteger("383");
a[77]=new BigInteger("389");
a[78]=new BigInteger("397");
a[79]=new BigInteger("401");
a[80]=new BigInteger("409");
a[81]=new BigInteger("419");
a[82]=new BigInteger("421");
a[83]=new BigInteger("431");
a[84]=new BigInteger("433");
a[85]=new BigInteger("439");
a[86]=new BigInteger("443");
a[87]=new BigInteger("449");
a[88]=new BigInteger("457");
a[89]=new BigInteger("461");
a[90]=new BigInteger("463");
a[91]=new BigInteger("467");
a[92]=new BigInteger("479");
a[93]=new BigInteger("487");
a[94]=new BigInteger("491");
a[95]=new BigInteger("499");
a[96]=new BigInteger("503");
a[97]=new BigInteger("509");
a[98]=new BigInteger("521");
a[99]=new BigInteger("523");
a[100]=new BigInteger("541"); for(int i=1;i<=T;++i){
BigInteger N=cin.nextBigInteger();
int flag=N.compareTo(n6);
int cnt=0;
BigInteger A=new BigInteger("1");
BigInteger B=new BigInteger("2");
if(flag==1){
BigInteger start=new BigInteger("6");
int P=3;
for(int j=1;j<=10000;j++) {
start=start.multiply(a[P]);
if(start.compareTo(N)==1)
break;
else {
cnt++;
P++;
}
}
int PP=3;
for(int j=1;j<=cnt;j++) {
BigInteger up=a[PP];
BigInteger ttt=a[PP];
ttt=ttt.add(n1);
BigInteger down=ttt;
A=A.multiply(up);
B=B.multiply(down);
PP++;
}
BigInteger gcd=A.gcd(B);
A=A.divide(gcd);
B=B.divide(gcd);
System.out.println(A+"/"+B);
}
else{
if(N.compareTo(n1)==0)
System.out.println("1/1");
else if(N.compareTo(n2)==0)
System.out.println("2/3");
else if(N.compareTo(n3)==0)
System.out.println("2/3");
else if(N.compareTo(n4)==0)
System.out.println("2/3");
else if(N.compareTo(n5)==0)
System.out.println("2/3");
else if(N.compareTo(n6)==0)
System.out.println("1/2");
}
}
}
}

Resistors in Parallel(找规律+大数)的更多相关文章

  1. UVA 10254 - The Priest Mathematician (dp | 汉诺塔 | 找规律 | 大数)

    本文出自   http://blog.csdn.net/shuangde800 题目点击打开链接 题意: 汉诺塔游戏请看 百度百科 正常的汉诺塔游戏是只有3个柱子,并且如果有n个圆盘,至少需要2^n- ...

  2. HDOJ-1041 Computer Transformation(找规律+大数运算)

    http://acm.hdu.edu.cn/showproblem.php?pid=1041 有一个初始只有一个1的串 每次都按①0 -> 10;②1 -> 01;这两条规则进行替换 形如 ...

  3. HDU 1041 Computer Transformation(找规律加大数乘)

    主要还是找规律,然后大数相乘 #include<stdio.h> #include<string.h> #include<math.h> #include<t ...

  4. hdu 5047 大数找规律

    http://acm.hdu.edu.cn/showproblem.php?pid=5047 找规律 信kuangbin,能AC #include <stdio.h> #include & ...

  5. vijos - P1447开关灯泡 (大数模板 + 找规律 + 全然数 + python)

    P1447开关灯泡 Accepted 标签:CSC WorkGroup III[显示标签] 描写叙述 一个房间里有n盏灯泡.一開始都是熄着的,有1到n个时刻.每一个时刻i,我们会将i的倍数的灯泡改变状 ...

  6. UVALive 6270 Edge Case(找规律,大数相加)

    版权声明:本文为博主原创文章,未经博主同意不得转载. vasttian https://blog.csdn.net/u012860063/article/details/36905379 转载请注明出 ...

  7. 2018 ACM-ICPC 焦作区域赛 E Resistors in Parallel

    Resistors in Parallel Gym - 102028E 吐槽一下,网上搜索的题解一上来都是找规律,对于我这种对数论不敏感的人来说,看这种题解太难受了,找规律不失为一种好做法,但是题解仅 ...

  8. HDU 4919 Exclusive or (数论 or 打表找规律)

    Exclusive or 题目链接: http://acm.hust.edu.cn/vjudge/contest/121336#problem/J Description Given n, find ...

  9. E - Fibonacci Again(找规律)

    逐渐发现找规律的美妙之处啦,真不错,用普通方法解决很久或者很麻烦的问题,找到规律就很方便,算法最主要还是思想 Description There are another kind of Fibonac ...

随机推荐

  1. Linux之GDB命令(二)

    gdb命令: 前提条件:可执行文件必须包含调试信息 gcc -g gdb 文件名 –启动gdb调试 查看代码命令   当前文件:     list 行号(函数名)   指定文件:     list 文 ...

  2. shell tail 命令

    #显示最后两行 tail -n - filename > newfilename #从开头显示到倒数第二行 head -n - filename > newfilename

  3. Linux网络编程五、套接字超时

    1.accept超时 accept等待并接受连接请求的过程是阻塞的,可以通过IO转接来设置等待一定的时长,如果超时没有连接,就让这个函数返回,让当前进程/线程处理别的任务. 例: // 最大的文件描述 ...

  4. 8 HashMap

    1.Map接口 public interface Map<K, V> 将键映射到值的对象,一个映射不能包含重复的键,每个键只能映射到一个值. 具体的实现:HashMap,TreeMap, ...

  5. 【软件工程】Beta版本演示

    团队信息 队名:女生都队 组长博客: 博客链接 成员 学号 史恩泽(组长) 031702122 施金海 031702121 阮君曦 031702116 陈银山 031702137 李季城 031702 ...

  6. 之前有面试到两个日期的大小比较方式,现在整理一下几种方法。   例子:   String beginTime=new String("2017-06-09 10:22:22");     String endTime=new String("2017-05-08 11:22:22");  1  直接用Date自带方法before()和after()比较 SimpleDateFormat d

    各种数据类型(日期/时间.integer.floating point和numeric)转换成格式化的字符串以及反过来从格式化的字符串转换成指定的数据类型.下面列出了这些函数,它们都遵循一个公共的调用 ...

  7. QTcpSocket 发送数据的几种方法

    1.QTcpSocket 继承于QAbstractSocket继承于QIODevice 2.QTcpSocket 提供的几种接收和发送数据方法 write ( const char *, qint64 ...

  8. Flutter移动电商实战 --(7)dio基础_POST请求的使用

    这节学习一下POST请求的使用,其实POST和Get请求都是在工作中最重要的两种请求.比如我们要传递一组表单数据过去,这时候用Get请求就是不太合适的,使用POST比较好. SingleChildSc ...

  9. babel 实践

    一.@babel/core var babel = require("@babel/core");babel.transform(code, options, function(e ...

  10. switch语句 initialization of 'XXX' is skipped by 'case' label 原因及解决办法--块语句的作用

    出错代码段: switch (t) { case 0:  int a = 0;  break; default:  break; }编译时提示:“error C2361: initialization ...