算法训练 最大最小公倍数
2017-01-29 14:27
232 查看
问题描述
已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。
输入格式
输入一个正整数N。
输出格式
输出一个整数,表示你找到的最小公倍数。
样例输入
9
样例输出
504
数据规模与约定
1 <= N <= 106。
思路:
若数为奇数,则结果就是最后3个的乘积,若是大于3的偶数将3个数在小于n的数里面穷举,求3个数的最小公倍数
代码:
已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。
输入格式
输入一个正整数N。
输出格式
输出一个整数,表示你找到的最小公倍数。
样例输入
9
样例输出
504
数据规模与约定
1 <= N <= 106。
思路:
若数为奇数,则结果就是最后3个的乘积,若是大于3的偶数将3个数在小于n的数里面穷举,求3个数的最小公倍数
代码:
#include<iostream> using namespace std; long long gbs(long long x,long long y) { long long s,t; if (x<y) { t=x;x=y;y=t; } s=x*y; while (y) { t=x%y; x=y; y=t; } return s/x; } int main() { long long n,s,max=0,i,j,k; cin>>n; if (n<=2) max=n; else if (n%2==1) { max=n*(n-1)*(n-2); } else { for (i=n;i>=n-10&&i>0;i--) for (j=i-1;j>=n-10&&j>0;j--) for (k=i-2;k>=n-10&&k>0;k--) { s=gbs(i,gbs(j,k)); //3数公倍数 if (s>max) { max=s; } } } cout<<max; return 0; }
相关文章推荐
- 算法训练 最大最小公倍数
- 蓝桥杯-算法训练之最大最小公倍数——ALGO-2
- 蓝桥杯—算法训练 最大最小公倍数 (简单贪心思想)
- 蓝桥杯 算法训练 最大最小公倍数 (贪心)
- 蓝桥杯算法训练——最大最小公倍数(贪心)
- 蓝桥杯_算法训练_ 最大最小公倍数
- 蓝桥杯-算法训练-ALGO-2-最大最小公倍数(贪心)
- 蓝桥杯算法训练——最大最小公倍数(贪心)
- 蓝桥杯-算法训练-ALGO2-最大最小公倍数
- 算法训练 最大最小公倍数
- 算法训练 ALGO-2 最大最小公倍数(贪心算法)
- 算法训练 最大最小公倍数
- 算法训练 最大最小公倍数
- 蓝桥水题_ 算法训练 最大最小公倍数
- 算法训练 最大最小公倍数
- 蓝桥杯 ALGO-2算法训练 最大最小公倍数(贪心算法)
- 蓝桥杯算法训练——最大最小公倍数(贪心)
- 蓝桥杯 算法训练 最大最小公倍数
- 蓝桥杯-算法训练:最大最小公倍数(简单贪心算法)
- 蓝桥杯----算法训练 最大最小公倍数