ALGO-2 最大最小公倍数(贪心算法)
问题描述已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。
输入格式输入一个正整数N。
输出格式输出一个整数,表示你找到的最小公倍数。样例输入9样例输出504数据规模与约定1 <= N <= 106
思路: 注意N的取值范围,容易将N取为int类型,而实际上取为long的类型。对于N的值需要分类讨论,一则是分为奇数与偶数。分析如下
注意:前面对于N,做个讨论,是否小于2
#include <iostream>
using namespace std;int cnt =0;int main(){long long n,ans;cin>>n;if(n<=2)ans=n;else if(n%2==1)ans=n*(n-1)*(n-2);else if(n%3==0)ans=(n-1)*(n-2)*(n-3);elseans=n*(n-1)*(n-3);cout <<ans;return 0;}新闻热点
疑难解答