#include <stdio.h>
int Gcd(int a,int b){
while(b!=0){
int tmp=a;
a=b;
b=tmp%b;
}
return a;
}
int main(void){
int n,m,a,b;
while(scanf("%d",&n)!=EOF){
while(n--!=0){
scanf("%d%d",&m,&a);
--m;
while(m!=0){
scanf("%d",&b);
a=a/Gcd(a,b)*b;
--m;
}
printf("%d\n",a);
}
}
return 0;
int Gcd(int a,int b){
while(b!=0){
int tmp=a;
a=b;
b=tmp%b;
}
return a;
}
int main(void){
int n,m,a,b;
while(scanf("%d",&n)!=EOF){
while(n--!=0){
scanf("%d%d",&m,&a);
--m;
while(m!=0){
scanf("%d",&b);
a=a/Gcd(a,b)*b;
--m;
}
printf("%d\n",a);
}
}
return 0;
}
这道题目 我不明白 为什么画底色的部分 写成a=a/Gcd(a,b)*b;是对的 但是写成a=a*b/Gcd(a,b);是错的???
理解C语言中GCD函数的应用与误解
本文深入解析了C语言中GCD函数的使用逻辑,通过具体实例对比了两种不同写法的正确性与错误性,帮助开发者理解在特定场景下选择正确表达式的原理。
571

被折叠的 条评论
为什么被折叠?



