细节题
这道题找最大的最小公倍数
而最大公因数乘最小公倍数等于两个数的乘积,而两个数相差为1时,刚好最大公因数为1
就可以愉快的n*(n-1)了,
但很可惜,这道题这样全wa
我们考虑1
(1-1)* 1=0,
1* 1 = 1;
这时显然不能
(n)*(n-1)需要加特判
这道题也说明了再简单的题不对拍也会wa
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n;
int main(){
int T;
scanf("%d",&T);
while(T--){
scanf("%lld",&n);
if(n==1){
puts("1");
continue;
}
printf("%lld\n",n*(n-1));
}
}
博客讲述了如何解决一道寻找最大最小公倍数的问题,强调即使在简单的问题上忽略细节也可能导致错误。当两个数相差1时,最大公因数为1,但直接使用n*(n-1)的公式会引发错误,需要添加特殊判断来避免WA(Wrong Answer)的情况。
8万+

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



