题目描述 考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0.
例: 1010230 是有效的7位数 1000198 无效 0001235 不是7位数, 而是4位数.
给定两个数N和K, 要求计算包含N位数字的有效K-进制数的总数.
假设2 <= K <= 10; 2 <= N; 4 <= N+K <= 18.
输入 两个十进制整数N和K
输出 十进制表示的结果
样例输入 2 10 样例输出 90
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
int m = cin.nextInt();
int[] a = new int[n+1];
a[1]=m-1;
a[2]=m*(m-1);
for(int i=3;i<=n;i++) {
a[i]=(a[i-1]+a[i-2])*(m-1);
}
System.out.println(a[n]);
}
}