在编程啦网站上做的一个题,总是说结果错误,实在找不出是哪错了了,求指教······
题目是这样的
超级最小公倍数
时间限制:8000 ms | 内存限制:16384 KB
描述
给2个正整数a,b(1<=a,b<=10100),求a和b的最小公倍数。
输入
输入包含多组数据,每组数据一行,包含两个正整数a和b,中间以一个空格隔开。输入以0 0结束。
输出
每组数据输出一行,为a,b的最小公倍数。
样例输入
123 321
123456789 987654321
0 0
样例输出
13161
13548070123626141
我的程序是
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
long a=scan.nextInt();
long b=scan.nextInt();
while(a!=0&&b!=0){
long g=commonDivisor(a, b);
long a1=a/g;
long a2=b/g;
System.out.println(a1*g*a2);
a=scan.nextInt();
b=scan.nextInt();
}
}
public static long commonDivisor(long M, long N){
if(N==0)
return M;
else
return commonDivisor(N,M%N);
}
}
超级最小公倍数
时间限制:8000 ms | 内存限制:16384 KB
描述
给2个正整数a,b(1<=a,b<=10100),求a和b的最小公倍数。
输入
输入包含多组数据,每组数据一行,包含两个正整数a和b,中间以一个空格隔开。输入以0 0结束。
输出
每组数据输出一行,为a,b的最小公倍数。
样例输入
123 321
123456789 987654321
0 0
样例输出
13161
13548070123626141
我的程序是
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
long a=scan.nextInt();
long b=scan.nextInt();
while(a!=0&&b!=0){
long g=commonDivisor(a, b);
long a1=a/g;
long a2=b/g;
System.out.println(a1*g*a2);
a=scan.nextInt();
b=scan.nextInt();
}
}
public static long commonDivisor(long M, long N){
if(N==0)
return M;
else
return commonDivisor(N,M%N);
}
}
...全文
相关推荐
我自己做了个bangbangDTC但有运行时有个地方老说错误-bangbang_dtc.mdl
我自己做了个bangbangDTC但有运行时有个地方老说错误-bangbang_dtc.mdl 我自己做了个bangbang DTC,但有运行时,有个地方老说错误。但我分开,用独立激励源,没有问题啊。求各位大虾指教。
[编程语言]《由浅入深学C++-基础、进阶与必做300题》作者:胡超.pdf
由浅入深学C++-基础、进阶与必做300题
OJ网站上的常见错误分析
OJ网站上的常见错误分析,更加便于分析自己的代码哪里出错
自己做的一个网络课程网站(部分代码)
自己做的一个网络课程网站,欢迎大家前来下载,本人刚入门,很多地方做得不是很好,也请大侠们指教
c语言求余数的实例讲解
c语言如何求余数? C语言中求余数直接用双目运算符%,如求a除以b的余数可表示为a%b 注意:C语言中的运算符%的两个操作数必须为整形,不能为浮点型或其他结构体类型,否则编译器会提示错误。 示例代码: #include int main() { int a=5, b=3, c; c=a%b; //将a除以b的余数赋值给c printf("%d",c); return 0; } /* 输出:2 */ 知识点补充: C语言求余数问题 C语言里对于有一些符号是不能直接输出的,因为被C语言占用了。所以有一些符号是需要特殊的方式才能输出的。比如你说的%号,%


Java SE
