chigichan24のお気持ち表明

おきもちを表明している

AOJ 0005 GCD and LCM

またまたこんばんは。
いっきに行きます。
次はこれAOJ 0005 GCD and LCM
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0005

まぁこれはユークリッドの互除法とかいうやつ使えば余裕かな
あとはC++だけだけど、__gcd(int a,int b)とかある。

コ~ド

#include <stdio.h>
 
int main(void){
 
    int x, y, q, r;
    long long int a,b,z;
 
    while(scanf("%lld %lld", &a, &b)!=EOF){
 
    x = a;
    y = b;
 
    if(x < 0) x = -x;
    if(y < 0) y = -y;
    for(;;){
        q = x/y;
        r = x - q*y;
        if(r == 0) break;
        x = y;
        y = r;
    }
    z=a*b/y;
    printf("%d %lld\n",y,z);
    }
    return 0;
}

__gcc()使う方はこっち!

#include<iostream>
#include<cstdio>
#include<algorithm>
 
using namespace std;
 
int main(){
 
    long long int a,b;
 
    while(scanf("%lld%lld", &a, &b)!=EOF){
        printf("%lld %lld\n",__gcd(a,b),a*b/__gcd(a,b));
    }
 
    return 0;
}

long long 使わないと最大が20億とかなので死ぬ。
ではでは~