发生“抖动”的根本原因是:
同时在系统中运行的进程太多 ,由此分配给每一个进程的物理块太少,不能满足进程正常运行的基本要求,致使每个进程在运行时,频繁地出现缺页,必须请求系统将所缺之页调入内 存。
太多的话, 最直接有效的方法当然是撤销部分进程。
import java.util.Scanner;
public class Main2 {
public static double result(int n) {
if(n == 1) {
return 0;
}
if(n == 2) {
return 1;
}
return (n-1)*(result(n-1)+result(n-2));
}
public static double reault1(int n) {
if(n == 1) {
return 1;
}
return n*reault1(n-1);
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {// 注意,如果输入是多个测试用例,请通过while循环处理多个测试用例
int n = in.nextInt();
double x1 = result(n);
double x2 = reault1(n);
double x3 = (x1/x2)*100;
System.out.println(String.format("%.2f",x3)+"%");
}
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int sum = scanner.nextInt();
int[] value = new int[n];
long[] dp = new long[sum+1];
dp[0] = 1;
for (int i = 0;i<n;i++) {
value[i] = scanner.nextInt();
for (int j = sum;j>=0;j--) {
if (j>=value[i]) {
dp[j] += dp[j-value[i]];
}
}
}
System.out.println(dp[sum]);
}
}