杭电ACM2028java做法
2015-07-18 10:43
405 查看
Lowest Common Multiple Plus
Problem Description
求n个数的最小公倍数。
Input
输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。
Output
为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。
Sample Input
2 4 6
3 2 5 7
Sample Output
12
70
这题目又是不知道哪里错了,我看了别人的答案,发现做法比我的要好,像他人学习,贴上来吧
import java.io.BufferedInputStream;
import java.util.Scanner;
public class Main{
//最大公约数
public static long gcd(long u, long v) {
long remainder = v;
while(u % v != 0) {
remainder = u % v;
u = v;
v = remainder;
}
return remainder;
}
//最小公倍数
static long lcm(long u, long v) {
return (u * v) / gcd(u, v);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s = new Scanner(new BufferedInputStream(System.in));
int n;
long u = 1, v = 1, tp;
while(s.hasNext()) {
n = s.nextInt();
for(int i=0; i<n; ++i) {
if(i == 0) {
u = s.nextInt();
v = u;
}
else {
v = s.nextInt();
try {
u = lcm(u, v);
} catch(ArithmeticException e) {
e.printStackTrace();
}
}
}
System.out.println(u);
}
}
}
Problem Description
求n个数的最小公倍数。
Input
输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。
Output
为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。
Sample Input
2 4 6
3 2 5 7
Sample Output
12
70
这题目又是不知道哪里错了,我看了别人的答案,发现做法比我的要好,像他人学习,贴上来吧
import java.io.BufferedInputStream;
import java.util.Scanner;
public class Main{
//最大公约数
public static long gcd(long u, long v) {
long remainder = v;
while(u % v != 0) {
remainder = u % v;
u = v;
v = remainder;
}
return remainder;
}
//最小公倍数
static long lcm(long u, long v) {
return (u * v) / gcd(u, v);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s = new Scanner(new BufferedInputStream(System.in));
int n;
long u = 1, v = 1, tp;
while(s.hasNext()) {
n = s.nextInt();
for(int i=0; i<n; ++i) {
if(i == 0) {
u = s.nextInt();
v = u;
}
else {
v = s.nextInt();
try {
u = lcm(u, v);
} catch(ArithmeticException e) {
e.printStackTrace();
}
}
}
System.out.println(u);
}
}
}
相关文章推荐
- java 环境变量配置
- JVM学习笔记一:Java内存区域
- java 内部类详解
- Java 类型, Hibernate 映射类型及 SQL 类型之间的对应关系
- [LeetCode][Java] Minimum Window Substring
- java初学笔记20150718.十进制数转换为二进
- java-循环-break用法
- struts中action名称重复导致的奇异事件
- Java内存模型
- Java进阶(极客)——单例模式(二)优化
- Java进阶(极客)——单例模式(一)基本原理
- Java Web Service
- A==B?(java大数做高精度)
- javadoc 使用中解决不能编码问题
- Java设计模式之——装饰设计模式
- Java学习笔记-------事件处理机制
- Eclipse中android各个目录的介绍
- java新手笔记1 Hello World!
- Java序列化
- Java对象赋值原理详解(上)附实例源码