缘分
[题目链接]
https://www.luogu.com.cn/problem/P5436
题意
给定一个数n,求出小于等于n的两个数的最小公倍数的最大值
思路
- 根据题意得:n*(n-1)就是最小公倍数的最大值
- 考略其特殊值
坑点
- 注意看n的范围,用long long int定义
算法一:for循环
时间复杂度
签到题
实现步骤
- 定义函数
- 在for循环中输出
代码
#include <iostream>
using namespace std;
int main(){
int t;
cin>>t;
long long int n;
for(int i=1;i<=t;i++){
cin>>n;
if(n==1) cout<<1<<endl;
else cout<<n*(n-1)<<endl;
}
return 0;
}
算法二:while循环
时间复杂度
入门
实现步骤
- 定义函数
- while循环中输出
代码
#include <iostream>
using namespace std;
int main(){
int T;
cin>>T;
while(T--)
{
int long long n;
cin>>n;
if(n==1) cout<<1<<endl;
else cout<<n*(n-1)<<endl;
}
return 0;
}
总结
只要理解题意就很容易做了