算法设计原则验证实验报告_算法设计与分析实验报告 统计数字问题

.

实验要求

1

、掌握算法的计算复杂性概念。

2

、掌握算法渐近复杂性的数学表述。

3

、掌握用

C++

语言描述算法的方法。

4

.实现具体的编程与上机实验,验证算法的时间复杂性函数。

.

实验内容

统计数字问题

1

、问题描述

一本书的页码从自然数

1

开始顺序编码直到自然数

n

。书的页码按照通常的习惯编排,

每个页码都不含多余的前导数字

0

。例如,第

6

页用数字

6

表示,而不是

06

006

等。数

字计数问题要求对给定书的总页码

n

,计算出书的全部页码中分别用到多少次数字

0

1

2

9

2

、编程任务

给定表示书的总页码的

10

进制整数

n (1≤n≤109)

。编程计算书的全部页码中分别用到

多少次数字

0

1

2

9

.

程序算法

将页码数除以

10

,得到一个整数商和余数,商就代表页码数减余数外有多

少个

1

9

作为个位数,

余数代表有

1

—余数本身这么多个数作为剩余的个位数,

此外,商还代表

1

—商本身这些数出现了

10

次,余数还代表剩余的没有计算的

商的大小的数的个数。把这些结果统计起来即可。

.

程序代码

#include

int s[10]; //

记录

0~9

出现的次数

int a[10]; //a[i]

记录

n

位数的规律

你可能感兴趣的:(算法设计原则验证实验报告)