首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

【算法分析】统计一到N中一共用到多少个0,1,2,3.

2013-03-06 
【算法分析】统计1到N中一共用到多少个0,1,2,3......统计数字问题:(1)、问题描述一本书的页码从自然数1 开始

【算法分析】统计1到N中一共用到多少个0,1,2,3......

统计数字问题:

(1)、问题描述

一本书的页码从自然数1 开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如,第6 页用数字6 表示,而不是06 或006 等。数字计数问题要求对给定书的总页码n,计算出书的全部页码中分别用到多少次数字0,1, 2,…,9。

(2)、算法设计

给定表示书的总页码的10 进制整数n (1≤n≤10) 。编程计算书的全部页码中分别用到多少次数字0,1,2,…,9。

java实现

public class Lab101 {public static void main(String[] args) {Lab101 lab = new Lab101();lab.func(9);for (int i = 0; i < 10; i++) System.out.println(i + "统计:" + lab.stat[i]);}int stat[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };public void func(int num) {int tmp = num;while (tmp >= 10) {stat[tmp % 10]++;tmp /= 10;}stat[tmp]++;if (num > 0)func(--num);}}

  

  若有更好的算法,请指点。

热点排行