写正确函数需要注意的地方:给定一个十进制整数N,计算从1开始到N的所有整数出现的“1”的个数

来源:互联网 发布:淘宝超过七天怎么退货 编辑:程序博客网 时间:2024/04/30 10:49
int numOf1(int n){int factor=1;int count=0;while(n/factor!=0){int higher=n/(factor*10);//当前位置的高位组成的数字。int cur=n/factor%10;//当前位置数字int lower=n%factor;//当前位置的低位组成的数字。if(cur==0)count+=higher*factor;else if(cur==1)count+=higher*factor+lower+1;elsecount+=(higher+1)*factor;factor*=10;}return count;}

原创粉丝点击