算法训练 最大最小公倍数
2016-12-27 14:05
281 查看
问题描述
已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。
输入格式
输入一个正整数N。
输出格式
输出一个整数,表示你找到的最小公倍数。
样例输入
9
样例输出
504
数据规模与约定
1 <= N <= 106。
很水的一道题,想通如果是偶数的情况就搞定了,另外要注意下数据很大,需要long long,而且...我才知道在求一个long long值运算时,进行运算的数据也需要是long long 才可以...于是我嫌麻烦,就全部long long 了,反正内存多得的是..
#include <stdio.h>
int main(){
long long N;
long long i,j;
long long max,max1;
scanf("%I64d",&N);
if(N%2!=0){
max=N*(N-1)*(N-2);
printf("%I64d",max);
return 0;
}
for(i = N-3;i>1;i--){
for(j=i-1;j>1;j--){
if(!(N%j||i%j))break;//有公约
if(!(N%j||(N-1)%j))break;//有公约
if(!(i%j||(N-1)%j))break;//有公约
}
if(j==1){
max1 = N*(N-1)*i;
break;
}
}
max = (N-1)*
4000
(N-2)*(N-3);
max = (max>max1)?max:max1;
printf("%I64d",max);
return 0;
}
已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。
输入格式
输入一个正整数N。
输出格式
输出一个整数,表示你找到的最小公倍数。
样例输入
9
样例输出
504
数据规模与约定
1 <= N <= 106。
很水的一道题,想通如果是偶数的情况就搞定了,另外要注意下数据很大,需要long long,而且...我才知道在求一个long long值运算时,进行运算的数据也需要是long long 才可以...于是我嫌麻烦,就全部long long 了,反正内存多得的是..
#include <stdio.h>
int main(){
long long N;
long long i,j;
long long max,max1;
scanf("%I64d",&N);
if(N%2!=0){
max=N*(N-1)*(N-2);
printf("%I64d",max);
return 0;
}
for(i = N-3;i>1;i--){
for(j=i-1;j>1;j--){
if(!(N%j||i%j))break;//有公约
if(!(N%j||(N-1)%j))break;//有公约
if(!(i%j||(N-1)%j))break;//有公约
}
if(j==1){
max1 = N*(N-1)*i;
break;
}
}
max = (N-1)*
4000
(N-2)*(N-3);
max = (max>max1)?max:max1;
printf("%I64d",max);
return 0;
}
相关文章推荐
- 2016蓝桥杯算法训练——最大最小公倍数
- [蓝桥杯]算法训练 最大最小公倍数
- 蓝桥杯 - 算法训练 最大最小公倍数 C语言实现
- 算法训练 最大最小公倍数
- 蓝桥杯算法训练 最大最小公倍数
- 算法训练 最大最小公倍数
- 蓝桥杯 算法训练 最大最小公倍数
- 蓝桥杯-算法训练2 最大最小公倍数
- 算法训练 最大最小公倍数
- 蓝桥杯 算法训练 最大最小公倍数
- 算法训练 最大最小公倍数
- 算法训练 最大最小公倍数
- 算法训练 最大最小公倍数
- 算法训练 最大的最小公倍数
- 算法训练-ALGO-2 最大最小公倍数
- 蓝桥杯:算法训练之最大最小公倍数
- 蓝桥杯 - 算法训练 - ALGO-2 最大最小公倍数
- 算法训练 最大最小公倍数
- 16蓝桥杯算法训练—最大最小公倍数
- 算法训练 5-1最小公倍数