视频中标准程序代码如下:
import java.util.Scanner;
public class Main {
static final int N = (int) 1e6 + 10;
static double[] f = new double[N];
static double[] g = new double[N];
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
double p = scanner.nextDouble();
double ans = Double.MAX_VALUE;
int ot = 1;
double np = 1 - p;
for (int i = 1; i <= n; i++) {
f[i] = 1 - np;
g[i] = np;
np *= (1 - p);
}
double m = 1.0 * n * p;
for (int i = 1; i <= n; i++) {
if (n % i == 0) {
double group = n / i;
double res;
if (i == 1) {
res = group;
} else {
res = group * (f[i] * (i + 1) + g[i]);
}
if (res < ans) {
ans = res;
ot = i;
}
}
}
System.out.println(ot);
}
}
2 回复
0 转发
0 喜欢
12 阅读



