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; }
Pascal :
var i,j,k,l,m,n,r:longint; procedure zuidagongyueshu(q,p:longint); begin if p>q then begin l:=q; q:=p; p:=l; end; r:=q-p; repeat if r>=p then begin p:=p; q:=r; end; if r<=p then begin q:=p; p:=r; end; r:=q-p; until r=0; i:=p; write(q,' '); end; procedure zuixiaogongbeishu(m,n:longint); begin k:=m div i; l:=n div i; r:=k*l*i; for j:=i to r do if (j mod m=0) and (j mod n =0) then break; writeln(j); end; begin readln(m,n); zuidagongyueshu(m,n); zuixiaogongbeishu(m,n); end.
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
- 46
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 上传者