首页 > 试题广场 >

数列计算

[编程题]数列计算
  • 热度指数:1682 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
已知一个正整数n,(3 <= n <= 15),将所有n的乘方幂以及所有n的乘方幂(有限个且互不相等)之和组成一个递增序列。例如,当n为4时,该序列为:
1, 4, 5, 16, 17, 20, 21……
(4^0, 4^1, 4^0+4^1, 4^2, 4^0+4^2, 4^1+4^2, 4^0+4^1+4^2……)
请求出该序列的第K项(10进制)。

输入描述:
输入只有1行,为2个正整数,两数之间用一个空格隔开:
n K
(n, K的含义与上述描述一致, 且3<=n<=15, 10<=K<=1000)。


输出描述:
输出为计算结果,为一个正整数(注意在所有测试数据中,结果均不会超过2.1*10^9)。整数前不要有空格或其他任何符号。
示例1

输入

3 100

输出

981
头像 c小白进击之路
发表于 2021-04-09 16:43:21
我看了白色纯度的博客,似懂非懂的,自己列出数组,才明白。废话不多数 ,附上数组(在最下面) ------------------------------------------------------------------------------------------------ 展开全文
头像 _Bingbong
发表于 2024-12-30 00:37:27
解题思路 巧妙的转换思路: 将第 个数转换为二进制 将二进制每一位对应 的幂 1表示取该位的 的幂,0表示不取 最后将所有取到的幂相加 例如: 时 代码 cpp java python #include <iostream> #include < 展开全文