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. golang web框架 beego 学习 (七)json转数组

    Modules type User struct { Id int64 `json:"id"` Name string `json:"name"` Email ...

  2. go os.State类用法

    参考文章: https://blog.csdn.net/weixin_43851310/article/details/87988648

  3. Cassandra的安装

    1.上传安装包到node01 cd /export/softwares 2.解压 tar -zxvf apache-cassandra-3.11.5-bin.tar.gz -C ../servers ...

  4. 第一个web 程序(servlet 和 jsp )&

    开发工具是便于程序员的编写,真正运行的代码不是编写的代码,而是tomcat服务器中部署好的代码.tomcat 会根据请求自动调用对应的代码进行请求处理. 可能遇到的问题: 1. 没有classes文件 ...

  5. selenium之定位详篇

    一.Web定位方法(find_elements返回元素list) 1.id: find_element_by_id()  # find_element_by_id("id") fi ...

  6. S03_CH07_AXI_VDMA_OV5640摄像头采集系统

    S03_CH07_AXI_VDMA_OV5640摄像头采集系统 7.1概述 本章内容和<S03_CH06_AXI_VDMA_OV7725摄像头采集系统>只是摄像头采用的分辨率不同,其他原理 ...

  7. BZOJ4199 NOI2015品酒大会(后缀树)

    利用SAM建出后缀树,树上每个节点计算一下|right|.right集合中ai的最大.次大.最小.次小值即可. #include<iostream> #include<cstdio& ...

  8. (二) JPA基础

    一.什么是JAP JPA(Java Persistence API)是SUN官方推出的Java持久化规范,它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据.它的出现主要是 ...

  9. Java HeapSort

    Java HeapSort /** * <html> * <body> * <P> Copyright 1994-2018 JasonInternational & ...

  10. SQL优化中的重要概念:阻塞

    原文:SQL优化中的重要概念:阻塞 上一篇讲到锁定的概念,那么接下来就是如何找到由于锁定而发生阻塞的进程,并解决阻塞问题. 1.会话1,修改数据,但没有提交事务 BEGIN TRAN select @ ...