首页 > 代码库 > 数论 UVA 11388
数论 UVA 11388
这道题是关于两个数的最大公约数和最小公倍数的题目。给你两个数字g,l,分别表示最大公约数和最小公倍数。要求你找到两个数a,b,要求这两个数的最大公约数和最小公倍数为所给的两个数。如果存在多组数字符合这一条件,
就输出a最小的那一组数字。由最大公约数和最小公倍数与两个数的关系可得,a*b=l*g,g<=a,b<=l,a%g==b%g==0,l%a==l%b==0。则所要求的a最小的那组数据,其实就是当a==g时所求出的那组数据。
#include <stdio.h>#include <stdlib.h>int main(){ int g,l,t; scanf("%d",&t); while(t--) { int x; scanf("%d%d",&g,&l); if(g>l) { x=g; g=l; l=x; } int a,b; if(l%g==0) { a=g; b=l; printf("%d %d\n",a,b); } else printf("-1\n"); } return 0;}
数论 UVA 11388
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。