码迷,mamicode.com
首页 > 其他好文 > 详细

判断0到4000中含数字1的个数

时间:2014-11-21 01:20:02      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:blog   io   os   sp   for   div   log   as   tt   

#include<iostream>
using namespace std;

int main(){
	int num=0;
	for(int i=0;i<4000;i++){
		int j=i;
		while(j){
			if(j%10==1)
			{	
				num++;
				break;
			}
			else j=j/10;
		}

	}
	cout<<num<<endl;
	return 0;
}

  把每一位取出来判断是不是1

计算方法,位从高到低,1_ _ _共有1000个数

_ 1_ _共有3*1*10*10

_ _1_ 共有3*9*1*10

___1共有3×9×9

总共1000+300+270+243=1813种

考试时犯迷糊把3当成2了,泪

判断0到4000中含数字1的个数

标签:blog   io   os   sp   for   div   log   as   tt   

原文地址:http://www.cnblogs.com/baozhilin/p/4111881.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!