解题思路
我看了下官方题解,官方题解用的是求期望的方式去做,这就有点复杂了,这里的话我是使用的是均值不等式进行求解,枚举其K只宠物为一组,即可,详细如下图。
AC代码
import java.util.Scanner;
/**
*
* @author 长白崎
* @class["第十五届蓝桥杯JavaB组省赛"]
*/
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
double p = sc.nextDouble();
double min =0x3f3f3f3f;
int mI =0;
for(int k =1;k<=N;++k) {
if(N%k!=0)continue;//这里是为了根据题意正好分成K个为一组
if(min>=N/k+N*p*k) {
min = N/k+N*p*k;
mI = k;
}
}
System.out.println(mI);
}
}
10 分
6 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复