C语言 有多个测试用例,每行两个正整数x,y,保证x*y不超过2^31-1。如果x与y都为

C语言

有多个测试用例,每行两个正整数x,y,保证x*y不超过2^31-1。如果x与y都为0,则输入结束。

每行输出一个测试用例的结果,即x与y的最小公倍数。(最后一行有回车)

这个不会,有谁知道?

#include<stdio.h>

int GCD(int, int);
int LCM(int, int);

int main()
{
int a, b;
do {
scanf("%d%d", &a, &b);
printf("%d\n", LCM(a, b));
} while(a || b);
return 0;
}

/* 2个数的最大公约数 */
int GCD(int a,int b) {
int t;
while(b) {
t = a % b;
a = b;
b = t;
}
return a;
}

/* 2个数的最小公倍数 */
int LCM(int a, int b) {
return a * b / GCD(a, b);
}

追问

GCD,LCM是…

追答

看注释阿。。。求最大公约数和最小公倍数的

温馨提示:内容为网友见解,仅供参考
无其他回答

acm c语言问题求助 总是time limit exceeded
acm你知道这是超时了对吧,就那你这个来说,那c也可以从两者最大值开始 也许你应该换种算法,你这个是最简单的枚举,网上自己百度吧,毕竟没你的OJ系统,没办法用源码测试

c语言提问:求正整数x到y的最小步数(0<=x<y<=2^31)
int nStep=0;\/\/步数 int nMax;\/\/最大的步长 int m;\/\/y-x与nMax平方的差 scanf("%d %d",&x,&y);nMax=(int)(sqrt(y-x));nStep=2*nMax-1;\/\/基本步长 m=(y-x)-nMax*nMax;nStep=nStep+(m+nMax-1)\/nMax;\/\/每多一个nMax,步长加1 printf("最小的步数为:%d\\n",nStep);r...

c语言,int与void不同点
一、指代不同 1、int:是一种数据类型,在编程语言中,是用于定义整数类型变量的标识符。2、void:“无类型”。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。二、特点不同 1、int:除了int类型之外,还有short、long、long long类型可以表示整数。unsigned int 表示无符号整数...

acm中的Catching Fish的X与Y代表什么,还有整个题意是什么意思,那位大大...
每个测试案例与一正整数N(1 <= N的<开始= 300),其中表明了湖中鱼的数量。然后,N行跟进。每行包含两个浮点数X和Y(0.0 <=的X,Y <= 10.0)。你可以不承担二鱼在同一点,而没有两个比鱼更接近0.0001,没有在一两个测试案例鱼类是在距离大约为2.0。换句话说,如果之间的鱼和渔网...

我这有C语言的题,哪位大侠能解决一下,必有重谢!
A B C D 24、若有定义:int a,b;char x,y;并有以下输入数据: 12 13 AaBb(回车)则能给a赋整数12,给b赋整数13,给x赋字符a,给y赋字符b的正确程序段是( )。本题(1分)A:scanf(“%d”,&a); scanf(“%d”,&b); x=getchar();y=getchar();B:scanf(“%d%d %c %c”, &a, &b,&x,&y...

能用两种不同方法表示成两个立方数之和的最小正整数是 1729=1+12^3...
不存在。任意四个连续的正整数中,一定有一个能被 4 整除,它显然不是两个不同的质数之积。证明:方程 xy + x + y = 232 存在正整数解。原方程相当于 xy + x + y + 1 = 232 + 1 ,即 (x + 1) · (y + 1) = 225 + 1 ,而后者是 n = 5 时的 Fermat 数,众所周知,...

c语言伪码书写的规范是什么
Demo.c功能:测试VxWorks的各种系统调用.说明:该程序测试各种VxWorks的系统调用函数。包括任务(taks)的创建、挂起及任务间通过信号灯实现同步,通过消息队列进行通讯。程序创建了两个任务:一个高优先级的任务和一个低优先级的任务。两个任务间通过一个二进制的信号灯进行同步,通过消息队列进行通讯。当前版本:x.x修改...

用C语言程序编辑对于一次考试成绩进行统计,考M科,有N人(如10人)参加...
int n,m;while(scanf("%d%d",&n,&m)!=EOF){ double N[50][5],M[5]={0},R[50]={0};int i,j,p;for(i=0;i<n;i++)for(j=0;j<m;j++)scanf("%lf",&N[i][j]);for(i=0;i<n;i++){ for(j=0;j<m;j++)R[i]=R[i]+N[i][j];R[i]=(double)R[i]\/j;...

C语言编程 从键盘输入一个年份和月份,输出该月有多少天(考虑闰年)_百度...
=0||y%400==0) \/\/最基本的判断闰年的条件 printf("这个月有29天\\n");else printf("这个月有28天\\n");break;case 4:case 6:case 9 :case 11:printf("这个月有30天\\n");break;}return 0;}用指针型列举的:#include<stdio.h>int a[]={31,28,31,30,31,30,31,31,30,31,30,...

如何在c++定义一个学生类以实现平均成绩的计算和查询功能?
答案:C试题分析:把整数8拆分成5个数字之和,允许有0,我们可以按照非零数字个数进行枚举,1个:1种,2个:4种,3个:5种,4个:5种,5个:3种,累加起来一共18种。详情见普及组课 程109课时。8.一棵二叉树如右图所示,若采用顺序存储结构,即用一维数组元素存储该二叉树中的结点(根结点的下标为1,若某结点的下标...

相似回答