没有合适的资源?快使用搜索试试~ 我知道了~
完整的学习C++的读书路线图
5星 · 超过95%的资源 需积分: 50 64 下载量 176 浏览量
2011-03-03
21:30:48
上传
评论 3
收藏 192KB DOC 举报
温馨提示
试读
64页
推荐给想学C++的朋友一个简单但是完整的学习C++的读书路线图: C++ Primer -> c++标准程序库-> C++编程思想 -> effective C++ -> effective STL->深入探索C++对象模型
资源详情
资源评论
资源推荐
推荐给想学 的朋友一个简单但是完整的学习 的读书路线图:
标准程序库 编程思想
深入探索 对象模型
程序常用算法源码
算法():计算机解题的基本思想方法和步骤。算法的描述:是对要解决一
个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、
输出什么结果)、采用什么结构、使用什么语句以及如何安排这些语句等。
通常使用自然语言、结构化流程图、伪代码等来描述算法。
一、计数、求和、求阶乘等简单算法
此类问题都要使用循环,要注意根据问题确定循环变量的初值、终值或结束条件,更要
注意用来表示计数、和、阶乘的变量的初值。
例:用随机函数产生 个,范围内的随机整数,统计个位上的数字分别为
,,, ,!,",#,$,, 的数的个数并打印出来。
本题使用数组来处理,用数组 %存放产生的确 个随机整数,数组 &来存
放个位上的数字分别为 ,,, ,!,",#,$,, 的数的个数。
即个位是 1 的个数存放在 x[1]中,个位是 2 的个数存放在 x[2]中,……个位是 0 的个数存
放在 x[10].
'%()*
+
(%,&,,-.
/)0.10.*
&0.
/)0.10.*
+
%0%(')*2.
-(/)32 '3,%*.
/)200*-(/)34(3*.
5
/)0.10.*
+
-0%2.
/)-00*-0.
&-0&-.
5
/)0.10.*
+
-0.
/)00*-0.
-(/)32',2'4(3,-,&*.
5
-(/)34(3*.
5
二、求两个整数的最大公约数、最小公倍数
分析:求最大公约数的算法思想:(最小公倍数0两个整数之积最大公约数)
() 对于已知两数 ,(,使得 (;
() 除以 ( 得余数 ;
() 若 0,则 ( 为求得的最大公约数,算法结束;否则执行( );
( ) 6(,(6,再重复执行()。
例如: 求 0 ,(0"的最大公约数。 (
"
6 2 0
'%()*
+
((,,(,,.
-(/)3-%7(-89(8:7;4(3*.
7%(/)32',2'3,<,<(*.
(0(.
/)1(*
+
0(.
(0.
0.
5
02(.
9)=0*
+
0(.
(0.
02(.
5
-(/)3最大公约数;2'4(3,(*.
-(/)3最小公倍数;2'4(3,((*.
5
三、判断素数
只能被 或本身整除的数称为素数 基本思想:把 作为被除数,
将 2 至 sqrt(m)作为除数,如果都除不尽,m 就是素数,否则就不是。(可用以下程序
段实现)
'%()*
+
(,,>.
-(/)3-%7(-8%(8:;4(3*.
7%(/)32'3,<*.
>07?)*.
/)0.1>.*
/)200*:%>.
/)0>*
-(/)3该数是素数3*.
7
-(/)3该数不是素数3*.
5
将其写成一函数,若为素数返回 1,不是则返回 0
(-)(*
+
(,>.
>07?)*.
/)0.1>.*
/)200*8(.
8(.
5
四、验证哥德巴赫猜想
(任意一个大于等于 " 的偶数都可以分解为两个素数之和)
基本思想:( 为大于等于 " 的任一偶数,可分解为 ( 和 ( 两个数,分别检查 ( 和
( 是否为素数,如都是,则为一组解。如 ( 不是素数,就不必再检查 ( 是否素数。
先从 (0 开始,检验 ( 和 (((0@()是否素数。然后使 (再检验
(、( 是否素数,…
直到 (0( 为止。
利用上面的 prime 函数,验证哥德巴赫猜想的程序代码如下:
A(8'3%B3
(-)(*
+
(,>.
>07?)*.
/)0.1>.*
/)200*:%>.
/)0>*
8(.
7
8(.
5
%()*
+
(&,.
-(/)3-%7(-8%((8:)0"*;4(3*.
7%(/)32'3,<&*.
/)&1"CC&2=0*
-(/)3'%%=4(3*.
7
/)0.10&.*
/)-)*<<-)&**
+
-(/)32'2'4(3,,&*.
-(/)3验证成功=3*.
:%>.
5
5
五、排序问题
1.选择法排序(升序)
基本思想:
)对有 ( 个数的序列(存放在数组 %(()中),从中选出最小的数,与第 个数交换
位置;
)除第 个数外,其余 ( 个数中选最小的数,与第 个数交换位置;
)依次类推,选择了 ( 次后,这个数列已按升序排列。
程序代码如下:
'%()*
+
(,D,(,7,%.
-(/)34((-8(8:7;4(3*.
/)0.1.*
7%(/)32'3,<%*.
/)0.1.*
+
(0.
/)D0.D1.D*
/)%(%D*(0D.
/)=0(*
+
70%.
%0%(.
%(07.5
-(/)32'4(3,%*.
5
剩余63页未读,继续阅读
草坪
- 粉丝: 16
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论3