摘要:
每日一题:给定n, 求出小于n的所有数中1的位数问题描述:给定整数 n,要求编写函数f,返回[1, n]中所有数中1的位数。例如,如果f输入10的话,函数返回2,其中1中含有一个1,10中含有一个1.思路:这里首先想到的是对于给定一个整数 i,如果分解出i的各个数位。这个算法是比较简单的,取模10,然后除10即可。实现的代码如下:// 这个函数直接输入的顺序和原来的数字// 相反的,下面使用递归的形式正序输出void integer2Bit(int i){ while(i > 0) { printf("%d", i % 10); i = i /
阅读全文