题目 1117: K-进制数

tech2022-07-04  262

考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0.

考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0.

例: 1010230 是有效的7位数 1000198 无效 0001235 不是7位数, 而是4位数.

给定两个数N和K, 要求计算包含N位数字的有效K-进制数的总数.

假设2 <= K <= 10; 2 <= N; 4 <= N+K <= 18.

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); int[] sz = new int[n + 1]; for (int i = 1; i <= n; i++) { if (i == 1) { sz[i] = k - 1; } else if (i == 2) { sz[i] = k * (k - 1); } else { sz[i] = (sz[i - 1] + sz[i - 2]) * (k - 1); } } System.out.print(sz[n]); } }
最新回复(0)