题解 1117: K-进制数

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

K-进制数-题解(C++代码)数位dp

这一题可以用数位dp思想,具体看代码与注释#includeusingnamespacestd;intn,k;intdfs(intpos,boollimit)//pos为当前所在位置,limit为下一位是否有限制(有限制代表下一位不能为0){intsum=0;if(pos==n)//当所有位置都填完时可

K-进制数-题解(Python代码)

####Python递归解决当位数为n时,满足条件的数有两种情况:1.第一位必不为0,且第二位也不为0,这种情况只要`(k-1)*[n-1位数时满足的个数]`2.第一位不为0,且第二位为零,这种情况只需要`(k-1)*1(第二位为0只有一种情况)*[n-2位数时满足的个数]````pythonn=in

K-进制数-题解(C++代码)

题意:一个n位数,遵守k进制,相邻的两位不能是0且第一位不能是0解题思路:每一位都有k种选择,分别是0~k-1(but第一位不能是0,为1~k-1,所以要单独判断),对每一位进行枚举,从首位a[1]开始判断到最后一位a[n],如果发现有相邻两位同是0,

K-进制数-题解(C语言代码)

#排列组合,插空解法**先求解无0的N位K进制数,在对0插空的排列组合计算**```c#include#includelonglongC(intm,intn){intT=n-m;intsum=1;for(inti=0;i0;--T)T1*=T;returnsum/T1;}longlongjinzhi(

java dfs剪枝搜索

```javaimportjava.util.Scanner;publicclassMain{privateint[]arr;privateint[]num;privateboolean[]used;privateintresult=0;Main(int[]num,

K-进制数-题解(C语言代码)

#include#includeusingnamespacestd;intmain(){intn,k;scanf("%d%d",&n,&k);/*yes表示有效个数,no表示相对无效(0开头)个数绝对无效数就是有两个以上连续0,如果2位数是绝对无效数,

K-进制数-题解(C语言代码)

令b[j]表示j位有效k进制数的个数数列`{b[j]|j=1,2,3,...,N}`满足1)初值条件`b[1]=k-1`,`b[2]=k(k-1)`2)递推条件`b[j]=(k-1)(b[j-1]+b[j-2])`题目条件可得`N=3时,可以把a[n]分为两类:1)末位(也就是第n位)是零2)末位不是

K-进制数-题解(C语言代码)

不难发现这是一道递归题......#includelonglongintans(intn,intk){if(n==1)returnk-1;if(n==2)returnk*(k-1);return(k-1)*(ans(n-1,k)+ans(n-2,