1的个数
Mean:
输入一个n,计算小于10^n的正整数中含有1的数的个数。
analyse:
这题是一道组合数学课后思考题。
基本思路: 组合数学乘法原则 + 容斥原理
n位数中,每位可选:{0,1,2,3,4,5,6,7,8,9},所以共有10^n种,其中要除掉每位都为0的情况,所以要减一。
其中每位上不选1的情况为:{0,2,3,4,5,6,7,8,9},所以共有9^n中,同样要除掉全部为0的情况。
Time complexity:O(n)
Source code:
//Memory Time// 1347K 0MS// by : Snarl_jsb#include#include #include #include #include #include #include #include #include