在这里,我们将看到一个问题,我们有N和基数B。我们的任务是计算基数为B的N位数,没有前导0的所有数字的数量。所以如果N是2,B是2,那么会有四个数字00、01、10、11。所以只有其中两个数字对这个部分有效。它们是10、11,没有前导0。
如果基数是B,那么有0到B-1个不同的数字。所以可以生成B^N个不同的N位数(包括前导0)。如果我们忽略第一个数字0,那么有B^(N-1)个数字。所以没有前导0的总共N位数是B^N – B^(N-1)
算法
countNDigitNum(N, B)
Begin total := BN with_zero := BN-1 return BN – BN-1End
登录后复制
Example
的中文翻译为:
示例
#include #include using namespace std;int countNDigitNum(int N, int B) { int total = pow(B, N); int with_zero = pow(B, N - 1); return total - with_zero;}int main() { int N = 5; int B = 8; cout输出
Number of values: 28672登录后复制
以上就是所有可能的N位数和基数B,但不包括前导零的数字的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2585091.html