- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 数论(Number Theory)
鞠成东
E-mail:juchd@
M. P. 参考教材与书目
。
参考教材与书目
书名:具体数学:计算机科学基础(第2版)
原书名:Concrete Mathematics: A Foundation for Computer Science (2nd Edition)
作者:(美)Ronald L. Graham, Donald E. Knuth, Oren Patashnik
译者:张明尧,张凡
出版社:人民邮电出版社
ISBN:978-7-115-30810-8
课程教学内容
● 第1章 递归问题
● 第2章 和式(选讲)
● 第3章 整值函数
● 第4章 数论
● 第5章 二项式系数
● 第6章 特殊的数
● 第7章 生成函数(自学)
● 第8章 离散概率
● 第9章 渐进式
课程教学内容
● It introduces the mathematics that supports the analysis of algorithms, modeling probems in real world. See,
Chap. 1 – Recurrence 递归的计数
Chap. 2 – Sum 各种求和,用于算法复杂度计算等
Chap. 6 – Special Numbers 调和数列及有关求和问题
● Concrete mathematics is a blending of continuous and discrete mathematics. See,
Chap. 3 – Integer Functions 实数的整数部分运算
Chap. 9 – Asymptotics 离散到连续的渐进
课程教学内容
● The goal is for the student to have mathematical skills to solve complex problems, and to discover subtle patterns in data.
Chap. 7 – Generating Functions 用于概率计算的母函数
Chap. 8 – Discrete Probability 离散问题概率(最有趣)
本章教学内容
● 4.4 阶乘的因子(Factorial Factors)
● 4.2 互素(Relative Primality)
● 4.3 mod:同余关系(MOD: The Congruence Relation)
8
4.4 阶乘的因子
n
0
1
2
3
4
5
6
7
8
9
10
n!
1
1
2
6
24
120
720
5040
40320
362880
3628800
9
10
11
由于阶乘有广泛的应用,因此对大数阶乘算法的优化问题是很重要的,这就涉及到大数的存储、表示和计算的方式方法等问题。
菜鸟篇
程序1:一个最直接的计算阶乘的
程序2:稍微复杂了一些,使用了递归,一个C++初学者写的程序
12
程序1:一个最直接的计算阶乘的程序
#include stdio.h
#include stdlib.h
int main(int argc, char* argv[]){
long i,n,p=1;
scanf(%d,n);
for (i=1;i=n;i++)
p*=i;
printf(%d!=%d/n,n,p);
return 0; }
13
程序2:稍微复杂了一些,使用了递归。
#include iostream.h
long int fac(int n);
void main() {
int n;
coutinput a positive integer:;
cinn;
long fa=fac(n);
coutn! =faendl; }
long int fac(int n) { 语句略; }
14
程序点评:这两个程序在计算12以内的数是正确的,但当n12时,程序的计算结果就完全错误了,单从算法上讲,程序并没有错,错误的原因在于long型整数能够表示的范围是很有限的。当n=13时,计算结果溢出,在C语言,整数相乘时发生溢出时不会产生任何异常,也不会给出任何警告。
怎么办?将程序1中的long型换成do
您可能关注的文档
最近下载
- 《GB∕T 27914-2023 风险管理 法律风险管理指南》解读和应用指导材料(雷泽佳编写2024A0-PDF).pdf
- 高考语文专项复习标点符号.ppt VIP
- 2024三上科学知识点期末复习资料.pdf VIP
- 成人经鼻高流量湿化氧疗(HFNC)理论知识考试题及答案.doc
- 2024上海中考英语试题及答案.doc VIP
- 高边坡专项施工方案.doc VIP
- 北京邮电大学《数字信号处理》门爱东-DSP03-离散傅里叶变换及其快速计算方法.ppt VIP
- 2024上海中考语文卷.docx VIP
- 《新托福考试专项进阶——初级写作》教育.pdf
- 《小学语文第一学段多文本阅读议题确立的策略研究》课题研究方案.doc
文档评论(0)