#include<stdio.h>
long gcd(long x,long y){
return y==0?x:gcd(y,x%y);
}
int main() {
long n=0;
long m=0;
scanf("%ld%ld",&n,&m);
long a=gcd(n,m);
long b=n*m/a;
printf("%ld\n",a+b);
return 0;
}
#include<stdio.h>
// 定义一个函数来计算两个长整型数的最大公约数(GCD)
// 使用递归实现的欧几里得算法
long gcd(long x,long y){
// 如果y为0,则返回x(任何数与0的最大公约数都是该数本身)
// 否则,递归调用gcd函数,参数为y和x%y(x除以y的余数)
return y==0?x:gcd(y,x%y);
}
int main() {
long n=0; // 定义并初始化第一个长整型变量n
long m=0; // 定义并初始化第二个长整型变量m
// 从标准输入读取两个长整型数并分别赋值给n和m
scanf("%ld%ld",&n,&m);
// 调用gcd函数计算n和m的最大公约数,并将结果存储在变量a中
long a=gcd(n,m);
// 计算n和m的乘积除以它们的最大公约数(这实际上是LCM的一种计算方式)
// 但这里直接使用了乘积除以GCD的结果,并将其存储在变量b中
long b=n*m/a;
// 输出a(GCD)和b(乘积除以GCD的结果)的和
printf("%ld\n",a+b);
return 0; // 程序正常结束
}
#include<stdio.h>
int main() {
int cc = 0; // 当前读取的整数
int n = 0; // 已经读取的整数数量
int max = -1; // 当前7个数中的最大值
int min = 999; // 当前7个数中的最小值
int sum = 0; // 当前7个数的总和
// 使用while循环持续读取整数,直到输入结束
while (scanf("%d", &cc) == 1) {
if (cc > max) {
max = cc; // 更新最大值
}
if (cc < min) {
min = cc; // 更新最小值
}
sum += cc; // 将当前整数加到总和中
n++; // 增加已读取的整数数量
// 如果已经读取了7个整数
if (n == 7) {
// 计算并输出去掉最大值和最小值后剩余5个数的平均值(保留两位小数)
printf("%.2lf\n", (double)(sum - max - min) / 5.0);
// 重置变量,为下一组7个数的计算做准备
max = -1;
min = 999;
sum = 0;
n = 0;
}
}
// 注意:如果输入的整数总数不是7的倍数,最后不足7个数的部分将不会被处理
return 0;
}