Pagini recente » Cod sursa (job #1615485) | Cod sursa (job #1728111) | Cod sursa (job #31891) | Cod sursa (job #301957) | Cod sursa (job #2802353)
package main;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.util.Scanner;
public class Pascal {
private static final int[] v2 = new int[5000000];
private static final int[] v3 = new int[5000000];
private static final int[] v5 = new int[5000000];
private static final int[] res = {0, 0, 0, 0, 0, 0};
public static void main(String[] args) throws Exception {
Scanner fin = new Scanner(new File("out/pascal.in"));
int r = fin.nextInt();
int d = fin.nextInt();
int ans = 0;
fin.close();
for (int i = 1; i <= r; ++i) {
if (i % 2 == 0) v2[i] = v2[i / 2] + 1;
if (i % 3 == 0) v3[i] = v3[i / 3] + 1;
if (i % 5 == 0) v5[i] = v5[i / 5] + 1;
}
for (int i = 2; i <= r; ++i) {
v2[i] += v2[i - 1];
v3[i] += v3[i - 1];
v5[i] += v5[i - 1];
}
for (int i = 0; i <= r; ++i) {
res[2] = v2[r] - v2[i] - v2[r - i];
res[3] = v3[r] - v3[i] - v3[r - i];
res[5] = v5[r] - v5[i] - v5[r - i];
switch (d) {
case 2:
if (res[2] != 0) ++ans;
break;
case 3:
if (res[3] != 0) ++ans;
break;
case 4:
if (res[4] > 1) ++ans;
break;
case 5:
if (res[5] != 0) ++ans;
break;
case 6:
if (res[2] != 0 && res[3] != 0) ++ans;
break;
}
}
BufferedWriter fout = new BufferedWriter(new FileWriter("out/pascal.out"));
fout.write(Integer.toString(ans));
fout.close();
}
}