2154: 单身狗线下聚会

题目描述

马上就到七夕节了,单身狗们决定聚一聚。但是它们沉迷B站上的lo娘,他们每沉迷 ai 单身狗时间(这是它们专业计时)后就会休息  单身狗时间。它们想找到一个时间正好他们都在休息,然后聚在一起单身。但是,每一只单身都因为缺爱,所以非常讨厌52这个数字(它们非常喜欢12),所以它们最多沉迷51个单身狗时间。
单身狗们发现每过一段相同的单身狗时间 S ,它们就一定会全部聚在一起。
单身狗们想把这个作为加入单身狗聚会的考核,算不出来时间的单身狗就得加入它们。当然,作为一个要在遥远的未来找到对象的有理想单身狗,怎么能加入这个咸鱼的单身狗群呢!现在请算一算这个时间,让这群单身狗看看你的与众不同。 输入 输入一个整数T开始,表示测试用例的数量。
每一行先输入一个整数n,(表示聚会中有 n 只单身狗)(<=n<=),下一行将输入由空格分隔的n个整数ai(<=ai<)。 输出 一个最小的单身狗时间 S 。 样例输入 样例输出

大致思路:

  求N个数的最大公倍数,C的话大数模拟乘法就好,但记得先把公因数除去一次!

  例如:2/4/8,2/6/8,2/8/10, 自行模拟求一下他们的最大公倍数,最后得出规律!!

  关于超longlong的判断,该题正好最大的ai<=50时,不超过unsigned longlong, 其余的情况下都是会超数据范围的!或者自己输入51个不同的数字试试!

  也可以hash一下处理,毕竟数字和数字重复后,仅算一个数字处理!

 import java.math.*;
import java.util.*; public class Main { public static int Gcd(int a,int b){
return b!=0?Gcd(b,a%b):a;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner cin=new Scanner(System.in); int T=cin.nextInt(); while(T-->0){
int arr[]=new int[10008];
int n=cin.nextInt();
int x;
for(int i=1;i<=n;i++){
x=cin.nextInt();
arr[i]=x+1;
}
for(int i=1;i<=n;i++){ //双重循环除掉一次因子
for(int j=i+1;j<=n;j++){
int num = Gcd(arr[i],arr[j]);
arr[j]/=num;
}
} BigInteger sum=new BigInteger("1"); for(int i=1;i<=n;i++){
sum=sum.multiply(BigInteger.valueOf(arr[i]));
}
System.out.println(sum);
} } } /**************************************************************
Problem: 2154
User: 137666
Language: Java
Result: 正确
Time:180 ms
Memory:20652 kb
****************************************************************/

ZZNUOJ-2154:单身狗线下聚会【求N个数的最小公倍数,会超longlong,大数乘法,Java】的更多相关文章

  1. 合肥.NET技术社区首次线下聚会全程回顾【多图】

    2019年3月16日对于合肥.NET来说是一个特别的日子,因为这是合肥.NET技术社区首次非正式线下聚会!这次聚会受场地限制(毕竟是聚餐的形式),即使换成了小椅子后,最多也只能容纳24个人,所以还有一 ...

  2. 听说,霸都.NET技术社区准备搞线下聚会了?

    嗨,你听说了没有?霸都.NET技术社区准备搞线下聚会了! 啥时候的事情啊? 最近才知道的消息啊! 那你是从哪里知道的消息呢? .NET Core项目实战交流群(637326624)啊! 那这次合肥.N ...

  3. HDU_2028——求多个数的最小公倍数

    Problem Description 求n个数的最小公倍数.   Input 输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数.   Output 为每组测试数据输出它们的最 ...

  4. 求n个数的最小公倍数

    解决的问题: 对于一个长度为n序列ai,求ai的最小公倍数 解析: 我们知道,如果求两个数a,b的LCM=a*b/gcd(a,b),多个数我们可以两两求LCM,再合并,这样会爆long long 所以 ...

  5. Oracle函数:求两个数的最小公倍数

    CREATE or replace function GetGbs(num1 NUMBER,num2 NUMBER) RETURN NUMBER is resultnum NUMBER; maxnum ...

  6. 求前n项的斐波那契数列、求两个数的最小公倍数、求两个数的最大公约数

    class Fib(object):    def __call__(self,n):        a=[0,1]        for i in range(n-2):            an ...

  7. 求N个数的最大公约数和最小公倍数(转)

    除了分解质因数,还有另一种适用于求几个较小数的最大公约数.最小公倍数的方法 下面是数学证明及算法实现 令[a1,a2,..,an] 表示a1,a2,..,an的最小公倍数,(a1,a2,..,an)表 ...

  8. LightOj 1024 - Eid (求n个数的最小公约数+高精度)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1024 题意:给你n(2<=n<=1000)个数, 然后求n个数的最小公倍数 ...

  9. Java求最大公约数和最小公倍数

    最大公约数(Greatest Common Divisor(GCD)) 基本概念 最大公因数,也称最大公约数.最大公因子,指两个或多个整数共有约数中最大的一个.a,b的最大公约数记为(a,b),同样的 ...

随机推荐

  1. Ctrl+Tab

    很好用的快捷键. 可以在浏览器中自由切换,也可以在编辑器中自由切换.

  2. [转帖]如何保护你的 Python 代码 (一)—— 现有加密方案

    如何保护你的 Python 代码 (一)—— 现有加密方案 Prodesire Python猫 1周前

  3. dubbo探究

    一 占位 待整理.. 二 问题汇总 1 谈谈dubbo的超时重试 dubbo 启动时默认有重试机制和超时机制.如果在一定的时间内,provider没有返回,则认为本次调用失败.重试机制出现在调用失败时 ...

  4. 【坑】使用IDEA创建maven的时候,提示缺少plugin-clean 等

    解决方法 检查你的网络,能否访问 maven 中央仓库 : 在 IDEA 中是否对 maven 进行了配置 IDEA 默认使用的 仓库 和 配置文件,都是 .m2 下面的: 如果你自己对 maven ...

  5. 序列变换(HDU-5256)【LIS】

    题目链接:https://vjudge.net/problem/HDU-5256 题意:给一个数列,每一个数都不相同且为整数,现求,最少需要修改多少次才能使该数列为严格上升的. 思路:首先,对于一个严 ...

  6. python学习-50 pickle模块

    pickle模块 与json方法是一样的 import pickle dic = {'} print(type(dic)) a = pickle.dumps(dic) print(type(a)) f ...

  7. 深度学习-mnist手写体识别

    mnist手写体识别 Mnist数据集可以从官网下载,网址: http://yann.lecun.com/exdb/mnist/ 下载下来的数据集被分成两部分:55000行的训练数据集(mnist.t ...

  8. Mysql 集群环境搭建

    在上一篇文章中已经详细的写了关于Mysql的安装步骤.这一篇文章在上一篇文章的基础之上接着写集群的安装与部署. 安装地址:https://www.cnblogs.com/ming-blogs/p/10 ...

  9. HTML中关于动态创建的标签无法绑定js事件的解决方法:.on()方法的 [.selector]

    在前端页面的时候,会经常遇到用JavaScript动态创建出来的Button按钮或其他标签无法使用点击事件的问题.如下代码,使用jquery在body中动态创建一个class为demo的Button按 ...

  10. (二)XML基础(2)

    三.解析 服务端解析 JDK:            DOM            SAX            JAXB    java and xml Binding 开源(一般都是用开源的)   ...