蓝桥杯 ALGO-2 最大最小公倍数 Java
来源:互联网 发布:奥运会标志 知乎 编辑:程序博客网 时间:2024/06/03 21:11
问题描述
已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。
输入格式
输入一个正整数N。
输出格式
输出一个整数,表示你找到的最小公倍数。
样例输入
9
样例输出
504
数据规模与约定
1 <= N <= 106。
import java.util.Arrays;import java.util.Scanner;public class Main { public static int num; public static void main(String[] args) {Scanner sc=new Scanner(System.in);while(sc.hasNext()){ int n=sc.nextInt(); int arr[]=new int [n*(n-1)/2]; int arr1[]=new int [n]; int f; for(int i=1;i<n;i++){ for(int j=i+1;j<=n;j++){ gcd(i, j); arr[j]=i*j/num; } } Arrays.sort(arr); f=arr[n*(n-1)/2-1]; for(int i=1;i<=n;i++){ gcd(f, i); arr1[i-1]=i*f/num; } Arrays.sort(arr1); System.out.println(arr1[n-1]);} } public static void gcd(int a,int b){ if(a<b){ int temp=a; a=b; b=temp; } if(b==0){ num=a; } else{ gcd(b, a%b); } }}
在蓝桥杯的oj 上过不去,Java数组装不下整体思路是对的。用了辗转相除算法,以及两数最大公约数与最小公倍数之积为两数成绩。
后来去网上参考的c++代码。
c++ AC 如下
#include<iostream> using namespace std; int main() { long long n, ans; while(cin >> n) { if(n <= 2) { ans = n; } else if(n % 2) { ans = n * (n - 1) * (n - 2); } else { if(n%3) ans = n * (n-1) * (n-3); else ans=(n-1) * (n-2) * (n-3); } cout << ans << endl; } return 0; }
阅读全文
0 0
- 蓝桥杯 ALGO-2 最大最小公倍数 Java
- 蓝桥杯--ALGO-2 最大最小公倍数
- 蓝桥杯ALGO-2最大最小公倍数
- 蓝桥杯 ALGO-2最大最小公倍数
- [ALGO-2] 最大最小公倍数
- ALGO-2最大最小公倍数
- 蓝桥杯 - 算法训练 - ALGO-2 最大最小公倍数
- 蓝桥杯 算法训练 ALGO-2 最大最小公倍数
- 蓝桥杯 - 算法训练 - ALGO-2 最大最小公倍数
- 蓝桥杯-算法训练之最大最小公倍数——ALGO-2
- 蓝桥杯 - 算法训练 - ALGO-2 最大最小公倍数(数论+贪心)
- 蓝桥杯练习系统(算法训练)-ALGO-2最大最小公倍数
- 蓝桥杯 ALGO-2算法训练 最大最小公倍数(贪心算法)
- 蓝桥 ALGO-2 最大最小公倍数
- ALGO-2 算法训练 最大最小公倍数(贪心算法)
- 算法训练 ALGO-2 最大最小公倍数(贪心算法)
- 蓝桥杯ALGO-148(最小公倍数 )
- 最大最小公倍数 java 蓝桥杯
- CarView简单实用
- 18_张孝祥_多线程_阻塞队列的应用
- 解Bug之路-Druid的Bug
- 错误: 程序包com.***.databinding不存在
- 致远电子IMX283A之点亮扩展板led
- 蓝桥杯 ALGO-2 最大最小公倍数 Java
- Python中的流程控制语句
- vue slot插槽的使用
- CNN经典网络模型
- 安卓音乐播放器(2)
- json文件读取
- Toolbar
- Serializable与serialVersionUID
- 嵌入式系统