多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
刚做了,蓝桥杯算法训练的最大最小公倍数一题,感觉考查的是数学了,哈哈。 时间限制:1.0s   内存限制:256.0MB 问题描述 已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。 输入格式 输入一个正整数N。 输出格式 输出一个整数,表示你找到的最小公倍数。 样例输入 9 样例输出 504 数据规模与约定 1 <= N <= 10^6。 **思路如下:** 1. n是奇数,那就最大的三个数相乘 2. n是偶数,得分两种情况了, ①如果n不是3的倍数,那就s=n*(n-1)*(n-3)---n与n-2同为偶数,故排除一个n-2; ②n是3的倍数,s=(n-1)*(n-2)*(n-3),n与n-2同为偶数,排除n-2,但n与n-3均有3这个公约数,得排除n-3,那就用n-4么?多往后写几个数你就会发现这样下去根本不行。 所以只能用(n-1)*(n-2)*(n-3)。 代码如下 ~~~ import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner in=new Scanner(System.in); long n=in.nextLong(); long s; if(n%2==1){ s=n*(n-1)*(n-2); } else{ if(n%3==0) s=(n-1)*(n-2)*(n-3); else s=n*(n-1)*(n-3); } System.out.println(s); } } ~~~ 但是上传测试出了小问题,分数只有60分,百思不得其解,网上查阅了很多,发现貌似这道题后台测试数据是错误的,(⊙o⊙)… 见 http://blog.csdn.net/u011669700/article/details/18702757 如有任何问题,欢迎留言。 祝君好运!