用算法程序集(C语言描述)(第三版)+源代码第1章多项式的计算1.1一维多项式求值1.2一维多项式多组求值1.3二维多项式求值1.4复系数多项式求值1.5多项式相乘1.6复系数多项式相乘1.7多项式相除1.8复系数多项式相除第2章复数运算2.1复数乘法2.2负数除法2.3复数乘幂2.4复数的n次方根2.5复数指数2.6复数对数2.7复数正弦2.8复数余弦第3章随机数的产生3.1产生0到1之间均匀分布的一个随机数3.2产生0到1之间均匀分布的随机数序列3.3产生任意区间内均匀分布的一个随机整数3.4产生任意区间内均匀分布的随机整数序列3.5产生任意均值与方差的正态分布的一个随机数3.6产生任意均值与方差的正态分布的随机数序列第4章矩阵运算4.1实矩阵相乘4.2复矩阵相乘4.3一般实矩阵求逆4.4一般复矩阵求逆4.5对称正定矩阵的求逆4.6托伯利兹矩阵求逆的特兰持方法4.7求一般行列式的值4.8求矩阵的值4.9对称正定矩阵的乔里斯基分解与列式求值4.10矩阵的三角分解4.11一般实矩阵的QR分解4.12一般实矩阵的奇异值分解4.13求广义逆的奇异值分解法第5章矩阵特征值与特征向量的计算5.1约化对称矩阵为对称三对角阵的豪斯荷尔德变换法5.2求对称三对角阵的全部特征值与特征向量5.3约化一般实矩阵为赫申伯格矩阵的初等相似变换法5.4求赫身伯格矩阵全部特征的QR方法5.5求实对称矩阵特征值与特征向量的雅可比法5.6求实对称矩阵特征值与特征向量的雅可比过关法第6章线性代数方程组的求解6.1求解实系数方程组的全选主元高斯消去法6.2求解实系数方程组的全选主元高斯-约当消去法6.3求解复系数方程组的全选主元高斯消去法6.4求解复系数方程组的全选主元高斯-约当消去法6.5求解三对角线方程组的追赶法6.6求解一般带型方程组6.7求解对称方程组的分解法6.8求解对称正定方程组的平方根法6.9求解大型系数方程组6.10求解托伯利兹方程组的列文逊方法6.11高斯-塞德尔失代法6.12求解对称正定方程组的共岿梯度法6.13求解线性最小二乘文体的豪斯伯尔德变换法6.14求解线性最小二乘问题的广义逆法6.15求解病态方程组第7章非线性方程与方程组的求解7.1求非线性方程一个实根的对分法7.2求非线性方程一个实根的牛顿法7.3求非线性方程一个实根的埃特金矢代法7.4求非线性方程一个实根的连分法7.5求实系数代数方程全部的QR方法7.6求实系数方程全部的牛顿下山法7.7求复系数方程的全部根牛顿下山法7.8求非线性方程组一组实根的梯度法7.9求非线性方程组一组实根的拟牛顿法7.10求非线性方程组最小二乘解的广义逆法7.11求非线性方程一个实根的蒙特卡洛法7.12求实函数或复函数方程一个复根的蒙特卡洛法7.13求非线性方程组一组实根的蒙特卡洛法第8章插值与逼近8.1一元全区间插值8.2一元三点插值8.3连分式插值8.4埃尔米特插值8.5特金逐步插值8.6光滑插值8.7第一种边界条件的三次样条函数插值8.8第二种边界条件的三次样条函数插值8.9第三种边界条件的三次样条函数插值8.10二元三点插值8.11二元全区间插值8.12最小二乘曲线拟合8.13切比雪夫曲线拟合8.14最佳一致逼近的里米兹方法8.15矩形域的最小二乘曲线拟合第9章数值积分9.1变补长梯形求积法9.2变步长辛卜生求积法9.3自适应梯形求积法9.4龙贝格求积法9.5计算一维积分的连分式法9.6高振荡函数求积法9.7勒让德-高斯求积法9.8拉盖尔-高斯求积法9.9埃尔米特-高斯求积法9.10切比雪夫求积法9.11计算一维积分的蒙特卡洛法9.12变步长辛卜生二重积分方法9.13计算多重积分的高斯方法9.14计算二重积分的连分方式9.15计算多重积分的蒙特卡洛法第10章常微分方程组的求解10.1全区间积分的定步长欧拉方法10.2积分一步的变步长欧拉方法10.3全区间积分维梯方法10.4全区间积分的定步长龙格-库塔方法10.5积分一步的变步长龙格-库塔方法10.6积分一步的变步长基尔方法10.7全区间积分的变步长默森方法10.8积分一步的连分方式10.9全区间积分的双边法10.10全区间积分的阿当姆斯预报校正法10.11全区间积分的
1
迪菲-赫尔曼密钥交换(Diffie–Hellmankeyexchange,简称“D–H”)是一种安全协议。
它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道建立起一个密钥。
这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。
假如用户g和用户B希望交换一个密钥。
取素数p和整数g,g是p的一个原根,公开g和p。
g选择随机数Xg<p,并计算Yg=g^Xgmodp。
B选择随机数XB<p,并计算YB=g^XBmodp。
每一方都将X保密而将Y公开让另一方得到。
g计算密钥的方式是:K=(YB)^XgmodpB计算密钥的方式是:K=(Yg)^XBmodp
1
题目:java拼图游戏姓名学号指导教师(签名)二○一一年七月十四日java拼图游戏[摘要]• 进一步加深对Java语言的理解和掌握:将所学的JAVA知识运用于实践中。
• 课程设计将理论与实践相结合,提供了一个既动手又动脑,独立实践的机会,锻炼我们的分析解决实际问题的能力,提高学生适应实际,实践编程的能力;• 熟练掌握JAVA语言中图形用户界面程序的编写;大体了解怎样用JAVA来编写小游戏的,增强我们实践能力和创新精神的综合培养。
前言编程思路:本练习因为要制作拼图游戏,所以首先要实现图片的导入。
这是通过getImage()函数来实现的,该函数有两个参数,第一个参数指明图片的路径,第二个参数指明图片的名称。
然后,因为要实现图片摆放的随意性,所以要通过initgame()函数来实现。
Initgame()函数是自写函数,在函数体内,通过调用Math.random()函数产生随机数,用来达到图片位置摆放的随意性和随机性。
最后,因为要实现人机交互.,所以首先要通过一系列函数来实现对鼠标事件的监听和响应,这是通过函数addMouseListener(this)和addMouseMotionListener(this)来完成的。
这样程序会区分用户对鼠标不同的操作,正确执行相应的功能。
//首先是程序实现及注释importjava.awt.*;importjava.applet.*;importjava.awt.event.*;publicclasspintuextendsApplet implementsMouseListener,MouseMotionListener{ privateImagepicture; privateGraphicsbuffer; privateImagepic[]; privateImageoff_pic[]; privateGraphicsoff_buf[]; privateImageoff_screen; privateGraphicsoff_buffer; privateImageoff_drag; privateGraphicsoff_drag_buf; privateintmap[][]; privateintran[]; privateintwidth=0; privateintheight=0; privateintlastx; privateintlasty; privateintlast_downx; privateintlast_downy; privateintstepx; privateintstepy; privatebooleanchoose; privatebooleanclick[][]; privatebooleanm_down; privatebooleanm_drag; privatebooleannot_redraw; privatebooleanable; Fontfont1,font2; //程序的初始化 publicvoidinit() {
2024/3/20 15:44:49 799KB java j2ee 课程设计报告
1
C++产生各种随机数的方法,简单适用,只需要添加头文件
2024/2/21 5:30:36 2.23MB GNU Scientific Library
1
最近上通信建模这门课时范平志老师布置的这个作业,我做好后传上来方便后人参考,包括了三个C语言程序,分别产生服从正态分布、瑞利分布、泊松分布的随机数。
程序是是用的C语言编写,备有大量注释,浅显易懂,且全部调试通过。
如果要画直方图,可用matlab或excel等软件导入.txt文件进行绘图。
2024/2/20 0:42:23 3.41MB 正态分布 瑞利分布 泊松分布 随机数
1
如题。
2024/2/17 5:56:55 2KB 计算物理
1
1.画板UI设计(总体布局)(1)创建窗体并设置相关属性;
(2)给整个窗体添加一个中间容器用来覆盖整个窗体;
(3)设置边框布局,因为整个画板大致为左边部分,中间部分,菜单栏三个部分,用边框布局比较合适;
(4)给窗体添加左面板,中间面板;
(5)给左面板添加按钮,并设置按钮图片和效果;
(6)给左面板添加左子面板,用来存放颜色按钮;
2.画板功能设计(1)给左画板中的按钮组中的每个按钮添加鼠标监听器;
(2)点击不同按钮,绘制不同的图形;
(3)给左子面板中的每个颜色按钮添加鼠标监听器;
(4)根据下面板中选中的颜色按钮,来获取按钮的背景颜色,并将该颜色设置成画笔的颜色;
(5)铅笔功能1、铅笔是鼠标拖动时画的线,所需要实现鼠标移动监听器,我们采用一个类来实现多个接口;
2、添加新的鼠标监听器类;
3、在鼠标移动时间中实现画笔的逻辑(其实就是绘制直线,鼠标每移动一个像素,就会触发移动事件,通过移动事件获取鼠标的坐标,与上一次移动的坐标连线就可以了;
(6)刷子功能刷子其实就是加粗的画笔,画出来的直线更粗,这里需要用到Graphic2D画笔来设置画笔的粗细。
(7)橡皮擦功能橡皮擦就是把画笔颜色设置成相同的背景颜色就可以了,拖动鼠标时进行擦除,所以在鼠标拖动事件中编写。
(8)喷桶功能1、定位方法:鼠标拖动事件实现;2、随机数生成:Random;3、实现原理,在鼠标拖动附近绘制很多的原点;3.画板的保存和重绘的设计(1)给我们的画板添加菜单条、菜单以及菜单项(2)给每个菜单项添加监听器(3)点击不同的菜单项实现相应的功能(4)图形保存功能:利用对象输出流,将容器对象写入文件;
(5)打开图形功能:利用对象输入流,将容器对象读入,然后将容器里面的图形对象在画板上绘制出来(6)新建文件功能:新建文件,将画板上绘制的内容清空(清空之前可以确认是否需要进行保存)清屏(重绘)功能依次方法;
(7)文件保存格式为BMP格式;(8)文字功能:读取文本框中的文本并打印到屏幕鼠标的相应的响应位置,传入输入的文字大小的参数,以此来改变文字的大小;
4.弹泡泡功能的设计根据Java多线程来实现弹泡泡功能;
泡泡的位置颜色随机出现,并且做到碰到边框会变色;
2024/2/14 11:50:53 617KB Java widpws画板
1
作者:WilliamH.Press/BrianP.Flannery/SaulA.Teukolsky/WilliamT.Vetterling本书编写了300多个实用而有效的数值算法C语言程序。
其内容包括:线性方程组的求解,逆矩阵和行列式计算,多项式和有理函数的内插与外推,函数的积分和估值,特殊函数的数值计算,随机数的产生,非线性方程求解,傅里叶变换和FFT,谱分析和小波变换,统计描述和数据建模,常微分方程和偏微分方程求解,线性预测和线性预测编码,数字滤波,格雷码和算术码等。
全书内容丰富,层次分明,是一本不可多得的有关数值计算的C语言程序大全。
本书每章中都论述了有关专题的数学分析、算法的讨论与比较,以及算法实施的技巧,并给出了标准C语言实用程序。
这些程序可在不同计算机的C语言编程环境下运行。
本书可作为从事科学计算的科技工作者的工具书,计算机软件开发者的参考书,也可以作为大学本科生和研究生的参考书或教材。
2024/2/6 5:38:02 10.13MB Numerical Recipes 数值算法 c
1
1、产品概述及目标五子棋是一种两人对弈的纯策略型棋类游戏,通常双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成5子连线者获胜。
2、产品功能需求(1)绘制棋盘棋盘是由长宽为15*15的“+”符号绘制形成。
(2)下子用户执黑子、电脑执白子,其中黑子先下。
在下子时是通过输入坐标来确定所下棋子的位置,用户下黑子时需要通过手动输入X和Y坐标下子,在输入坐标时应注意不能超出棋盘的大小,即X和Y值均不能超出15,否则提示输入非法,需重新输入下子的坐标。
电脑下子时的坐标是使用随机数生成的,同样下子坐标不能超出15。
(3)判胜负从横向、纵向、反斜杠和斜杠四方向去判断,任何一个方向的5个黑或白棋连成一条线,则胜利。
2024/2/4 19:40:04 4KB 五子棋
1
以往的文件或书信可以通过亲笔签名来证明其真实性,而通过计算机网络传输的信息则可以通过数字签名技术来实现其真实性的验证。
下面就以DSA算法为例,介绍数字签名算法。
DSA算法在1991年被美国国家标准与技术局(NIST)采纳为联邦数字签名标准,NIST称之为数字签名标准(DSS)。
(1)DSA中的参数:全局公钥(p,q,g):p为512~1024bit的大素数,q是(p-1)的素因子,为160比特的素数,g=h(p-1)/qmodp,且1<h1用户私钥x:x为0<x<q内的随机数用户公钥y:y=gxmodp用户为待签消息选取的秘密数k,k是满足0<k<q的随机数或伪随机数。
(2)签名过程用户对消息M的签名为(r,s),其中r≡(gkmodp)modq,s≡[k-1(H(M)+xr)]modq,H(M)是由MD4、MD5或SHA求出的杂凑值。
(3)验证过程设接收方收到的消息为M,签名为(r,s)。
计算:w≡(s)-1modq,u1≡[H(M)w]modqu2≡rwmodq,v≡[(gu1yu2)modp]modq检查v=r′是否成立,若成立,则认为签名有效。
这是因为若(M′,r′,s′)=(M,r,s),则:
2024/1/31 14:58:34 3.62MB C++ DSA
1
共 184 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡