<找工作 三>统计1到N中1出现的个数
#include <iostream>using namespace std;unsigned long long countOneNum(unsigned long long N);int main(){unsigned long long n=123;cout<<"-----------Start Count N:"<<n<<" One Numbers------------"<<endl;unsigned long long result=countOneNum(n);cout<<"-----------One Numbers: "<<result<<"------------"<<endl;getchar();}unsigned long long countOneNum(unsigned long long n){unsigned long long highNum=1;unsigned long long midNum=0;unsigned long long lowNum=0;unsigned long long count=0;unsigned long long factor=1;while(highNum>0){highNum=n/(factor*10);lowNum=n%factor;midNum=n/factor%10;switch (midNum){case 0:count+=highNum*factor;break;case 1:count+=highNum*factor+lowNum+1;break;default:count+=(highNum+1)*factor;}factor*=10;}return count;}?很有意思的东西