每日一题:给定n, 求出小于n的所有数中1的位数

每日一题:给定n, 求出小于n的所有数中1的位数


问题描述:给定整数 n,要求编写函数f,返回[1, n]中所有数中1的位数。例如,如果f输入10的话,函数返回2,其中1中含有一个1,10中含有一个1.


思路:这里首先想到的是对于给定一个整数 i,如果分解出i的各个数位。这个算法是比较简单的,取模10,然后除10即可。实现的代码如下:

取出各位之后,判断各位是否是1即可实现。


实现代码:

posted @ 2010-11-20 09:04  qiang.xu  阅读(575)  评论(0编辑  收藏  举报