最新消息:380元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

信息学奥赛题库- 【例 2】2^k 进制数

C++ 少儿编程 1091浏览 0评论

友情提示:380元/半年,儿童学编程,就上码丁实验室

【题目描述】

原题来自:NOIP 2006 提高组

设 $r$ 是个 $2^k$ 进制数,并满足以下条件:

1、$r$ 至少是个 $2$ 位的 $2^k$ 进制数。

2、作为 $2^k$ 进制数,除最后一位外,$r$ 的每一位严格小于它右边相邻的那一位。

3、将 $r$ 转换为 $2$ 进制数 $q$ 后,$q$ 的总位数不超过 $w$。

在这里,正整数 $k$ 和 $w$ 是事先给定的。

问:满足上述条件的不同的 $r$ 共多少个?

【输入】

输入只一行,为两个正整数 $k$ 和 $w$。

【输出】

输出为一行,是一个正整数,为所求的计算结果,即满足条件的不同的 $r$ 的个数(用十进制数表示,要求最高位不得为 $0$,各数字之间不得插入数字以外的其他字符(例如空格、换行符、逗号等)。

提示:作为结果的正整数可能很大,但不会超过 $200$ 位。

【输入样例】

3 7

【输出样例】

36

【提示】

数据范围与提示:

对于所有数据,$1≤k≤9,k<w≤3×10^4$ 。

您必须 登录 才能发表评论!