首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

<找工作 3>统计1到N中1出现的个数

2012-12-25 
找工作 三统计1到N中1出现的个数#include iostreamusing namespace stdunsigned long long countOneN

<找工作 三>统计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;}
?很有意思的东西

热点排行