1 条题解
-
0
C :
int gy(int n,int m) { int tem; while(m) { tem=m; m=n%m; n=tem; } return n; } int gg(int n,int m) { return m/gy(n,m)*n; } int main(int argc, char* argv[]) { int a,b; while(~scanf("%d%d",&a,&b)) { if(a<b) printf("%d %d\n",gy(b,a),gg(b,a)); else printf("%d %d\n",gy(a,b),gg(a,b)); } return 0; }
C++ :
#include <iostream> using namespace std; int gcd(int x,int y) { return y?gcd(y,x%y):x; } int lcm(int x,int y) { return x*y/gcd(x,y); } int main() { int x,y; cin>>x>>y; cout<<gcd(x,y)<<" "<<lcm(x,y); return 0; }
Java :
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); System.out.printf("%d %d",gcd(a,b),a*b/gcd(a,b)); } static int gcd(int a,int b) { return b==0?a:gcd(b,a%b); } }
Python :
# coding=utf-8 def max_g(x,y): if x>y: min_num=y else: min_num=x for i in range(1,min_num+1): if x%i==0 and y%i==0: g=i return g def min_g(x,y): if x>y: max_num=x else: max_num=y while True: if max_num%x==0 and max_num%y==0: return max_num else: max_num+=1 import sys if __name__ == '__main__': x,y=map(int,sys.stdin.readline().strip().split()) print(max_g(x,y),min_g(x,y))
- 1
信息
- ID
- 1285
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 上传者