1 条题解
-
0
C :
#include <stdio.h> long long int gcd(long long int a, long long int b) { long long int temp; while (b != 0) { temp = b; b = a % b; a = temp; } return a; } long long int lcm(long long int a, long long int b) { return a * b / gcd(a, b); } int main() { long long int a, b, c; scanf("%lld %lld %lld", &a, &b, &c); long long int gcd1 = gcd(a, b); long long int gcd2 = gcd(gcd1, c); long long int lcm1 = lcm(a, b); long long int lcm2 = lcm(lcm1, c); printf("%lld %lld", gcd2, lcm2); return 0; }C++ :
#include <bits/stdc++.h> using namespace std; #define int long long int lcd(int a, int b) { return a * b / __gcd(a, b); } signed main() { // freopen("C:\\Users\\lenovo\\Desktop\\计算机\\尝试-大二\\算法基础\\1\\3.in", "r", stdin); // freopen("C:\\Users\\lenovo\\Desktop\\计算机\\尝试-大二\\算法基础\\1\\3.out", "w", stdout); int a, b, c; cin >> a >> b >> c; int g = __gcd(a, __gcd(b, c)); int h = lcd(a, lcd(b, c)); cout << g << ' ' << h; return 0; }Java :
import java.util.Scanner; public class Main { public static void main(String[]args){ Scanner input=new Scanner(System.in); long a=input.nextLong(); long b=input.nextLong(); long c=input.nextLong(); As as=new As(); long k=as.calculateGCD(a,b); k=as.calculateGCD(k,c); System.out.print(k+" "); System.out.println(as.calculateLCM(a,b,c)); } // 定义一个方法来计算2个数的最大公约数 public static class As { public long calculateGCD(long m,long n ) { if (n == 0) { return m; } return calculateGCD(n, m%n); } // 定义一个方法来计算3个数的最小公倍数 public long calculateLCM(long a, long b, long c) { long gcdAB = calculateGCD(a, b); long lcmAB = a * b / gcdAB; long gcdLCM = calculateGCD(lcmAB, c); long lcm = lcmAB * c / gcdLCM; return lcm; } } }
- 1
信息
- ID
- 682
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- 提交数
- 4
- 已通过
- 3
- 上传者