在从1到n的正数中1出现的次数
摘要:
题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。分析:这是一道广为流传的google面试题。简单的方法就是按照给位进行分析在个位出现1的个数=n/10+(个位=0,0;个位>1,1;个位=1,低0位+1);十位位出现1的个数=n/100*10+(十位=0,0;十位>1,10,;十位=1,低一位+1);百位出现1的个数=n/1000*100+(百位=0,0;百位>1,100;百位=1,低两位+1);等等算法的复杂度仅仅和位数有关算法描述:(1)求出所给正整数a的位数, 阅读全文
posted @ 2012-05-28 15:40 为梦飞翔 阅读(4653) 评论(0) 推荐(0)
浙公网安备 33010602011771号