喜欢唱跳rap篮球


私信TA

用户名:1272160812

访问量:6508

签 名:

等  级
排  名 1289
经  验 2919
参赛次数 0
文章发表 7
年  龄 0
在职情况 学生
学  校 宿舍里蹲
专  业 软件技术

  自我简介:

TA的其他文章

n代表几位数,k代表几进制,sum[n]表示n位k-进制数总数。
要保证没有连续的0,
以 k=10为例
当n=1,sum[1]=k-1; 9
当n=2,sum[2]=(k-1)*k;k-1表示十位的可能情况数,k表示个位可能情况数。90
当n=3,sum[3]=(k-1)*(sum[2]+sum[1])  891
规律 sum[n]=(k-1)*(sum[n-1]+sum[n-2])
规律的得出我没办法用语言表达(只可意会,不可言传)
也可以用递归写。
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[] sum = new int[n + 1];
		for (int i = 1; i <= n; i++) {
			if (i == 1)
				sum[i] = k - 1;
			else if (i == 2)
				sum[i] = k * (k - 1);
			else
				sum[i] = (sum[i - 1] + sum[i - 2]) * (k - 1);
		}
		System.out.print(sum[n]);
	}
}


 

0.0分

10 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

太神了吧
2022-08-05 23:54:47
太强了哥,茅塞顿开。
2021-01-19 23:33:06
厉害
2020-02-05 13:25:22
?????牛逼这都能线性规划出来
2019-12-07 19:40:42
666
2019-10-04 10:46:36
数学大神?
2019-07-22 16:43:59
  • «
  • 1
  • »