剑指offer---整数中1出现的次数
class Solution { public: int NumberOf1Between1AndN_Solution(int n) { int count=0; for (int i=1;i<=n;i*=10) {int a=n/i; //高位 int b=n%i; //低位 if (a%10>1) //对高位最低一位进行分类 { count+=(a/10+1)*i; } if (a%10==1) { count+=(a/10)*i+b+1; } if (a%10==0) { count+=(a/10)*i; } } return count; } };