K进制数

摘要:
=K<=N标准时间>intk;}}intmain(){intn;usingspacestd;elsefor(inti=0;i<if((cur==0&temp=='0')||(temp=='0'&&s[cur-1]='0'))continue;s[cur]=i+'0';dfs(cur+1);}}intmain(;
题目描述
考虑包含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.

输入
两个十进制整数N和K

输出
十进制表示的结果

样例输入
2
10
样例输出
90
K进制数第1张K进制数第2张
//K进制 递推牛逼 
#include<stdio.h>
int k;
int f(int n)
{
    if(n == 1)
    {
        return k-1;
    }
    else if(n == 2)
    {
        return (k-1)*k;
    }
    else
    {
        return f(n-1)*(k-1) + f(n-2)*(k-1) ;    }
}
int main()
{
    int n;
    scanf("%d%d", &n, &k);
    printf("%d
",f(n));
    return 0;
} 
View Code

不能连续两个0 与第一位不能为0,存在递推关系

实际上是一个深搜问题   dfs

1.最高位不能是0

K进制数第3张K进制数第4张
#include<iostream>
using namespace std;

int n,k;//n是位数,k是进制数
char s[20];
int total;
void dfs(int cur){
    char temp;
    if(cur==n)
        total++;
    else
        for(int i=0;i<k;i++){
            temp = i+'0';
            if((cur==0 && temp == '0') || (temp == '0' && s[cur-1] == '0'))
                continue;
            s[cur] = i+'0';
            dfs(cur+1);
        }
}

int main(){
    cin>>n>>k;
    dfs(0);
    cout<<total<<endl;
}
View Code

免责声明:文章转载自《K进制数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇VMware安装虚拟机及网络配置Linux下查看Tomcat的版本信息下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

K-th Number 线段树的区间第K大

http://poj.org/problem?id=2104 由于这题的时间限制不紧,所以用线段树水一水。 每个节点保存的是一个数组。 就是对应区间排好序的数组。 建树的时间复杂度需要nlogn 然后查询的时候,对于线段树覆盖了的区间,可以直接二分即可。 查询复杂度需要logn^2 所以复杂度需要mlognlogn 对于怎么确定是那个元素。可以二分一个值v...

JS-七大查找算法

顺序查找 二分查找 插值查找 斐波那契查找 树表查找 分块查找  哈希查找 查找定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。查找算法分类:1)静态查找和动态查找;注:静态或者动态都是针对查找表而言的。动态表指查找表中有删除和插入操作的表。2)无序查找和有序查找。无序查找:被查找数列有序无序均可;有序查找:被查找数列...

js金额转大写(万元为单位)

function NoToChinese(num) { var AA = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"); var BB = new Array("", "拾", "佰", "仟", "萬", "億", "点", "");...

BZOJ4589 Hard Nim(快速沃尔什变换FWT)

这是我第一道独立做出来的FWT的题目,所以写篇随笔纪念一下。 (这还要纪念,我太弱了) 题目链接: BZOJ 题目大意:两人玩nim游戏(多堆石子,每次可以从其中一堆取任意多个,不能操作就输)。$T$ 组数据,现在问如果 $n$ 堆石子,每堆石子个数都是不超过 $m$ 的素数,有多少种不同的石子序列使得先手没有必胜策略,答案对 $10^9+7$ 取模。(石...

Howto: Performance Benchmarks a Webserver

Howto: Performance Benchmarks a Webserver last updated June 9, 2006 in CategoriesApache, FreeBSD, Howto, lighttpd, Linux, Networking,Troubleshooting, UNIX, Windows server   You c...

dp1--乘积最大

dp1--乘积最大 一、心得 1、用excel填数组很方便 2、 dp就是填表 找状态就是缩小规模 找状态转移方程就是 找状态的最后一次关系 二、题目 8782:乘积最大 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生...