自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 斐波那契数列的递归和迭代实现

本文分析了斐波那契数列的两种实现方法:递归和迭代。递归算法通过自调用实现,代码简洁但效率低下,时间复杂为O(2ⁿ),存在大量重复计算;迭代算法通过循环和状态保存实现,时间复杂度O(n),空间复杂度O(1),性能更优。递归适用于小规模问题,迭代则适合实际应用。两种方法体现了分治与递推的不同算法思想,需根据具体需求选择实现方式。

2025-09-18 21:56:44 1304

原创 学期总结——插入排序(从io,循环到类,时间复杂度,循环不变式)

以插入算法的实现为例,从一开始写下思路,到证明循环不变式,从完全在主函数中书写,到把某些步骤写成函数,再到把这一算法写成类,而后分析时间复杂度。

2024-12-24 20:24:43 1764

原创 类与对象练习——点类

输出“AABB”左下角点实际上就是找到这n个对象中x和y的最小值并输出,这里的思路是调用一个对象A的成员函数,传B的参数进去,两者的x,y分别进行比较,如果A的x比B小,那就交换,A的y比较小,那就交换,反之则不换,最终B的x和y一定是两者中的更小值,然后再使B和下一个进行比较,找右上角点也是同理。同样的,在主函数里的代码也有可以优化的地方,比如求左下角点和右上角点可以放在一个for循环里循环两遍输出,第一遍输出左下角点,第二遍输出右上角点,总之代码的优化之路恒久且远。3.能够计算多段线的长度;

2024-12-18 18:54:45 920

原创 数组部分练习——习题四(矩阵运算)

对于多个N阶矩阵,依次进行加、减运算。从标准输入读取输入信息。step1.第一行矩阵的阶数,只有一个整数N(1≤N≤10),代表矩阵的阶数。step2.从第二行开始,按照行的方式输入矩阵所有元素,共N行,每行有N个整数(可能是正、负整数),是矩阵的所有元素。step3.然后一行只含一个字符"+"或"-",代表加、减操作。然后用同样的方式输入另一个矩阵,step2的输入。后续仍然是运算符和矩阵。直至运算符为"#"时停止计算,将结果输出。

2024-12-12 22:47:33 739

原创 数组部分练习——习题三(字符串基本操作)

编写一个程序,输入一个正整数n和字符串A,对字符串A作如下处理:去掉重复的字符去掉所有非字母非数字的字符将字母大小写互换按照字符的ASCII码从大到小排序最后在同一行里输出n个的字符串A。

2024-12-10 23:29:49 1841

原创 数组部分练习——习题二(字符串中最后出现的子串所在位置查找函数编写)两种方法

在一个字符串中,通常会出现多个相同的子串,有时需要找到最后一个子串,然后对其进行操作。

2024-12-08 18:04:18 2261

原创 数组部分练习——习题一(统计字符串中字符个数)

使用getline获取键盘输入的字符串,统计字符串中,大写字母、 小写字母以及数字出现的次数。请编写一个函数实现。

2024-12-03 21:10:22 292

原创 实习02——习题四(围圈报数退圈)

有n个人围成一圈,顺序排号,从1—n,然后从1开始报数,报到3的人员退 出圈子,后面的人接着从1开始报数。问最后一个人员的原编号是多少。

2024-12-01 21:54:04 465

原创 实习02——习题三(数组中元素的移位操作)

数组中元素的移位操作 已知某数组中元素个数为n个,请实现将后面m个放置在数组的前面,前 面n-m个移动到数组的后面。

2024-12-01 21:27:51 277

原创 实习02——习题二(查找和统计数组中的元素)

查找和统计数组中的元素。要求: 1. 实现对数组中元素的顺序查找工作;2.判断一个数组中的元素是否已经排序;3.对已经排序的数组,如从小到大的顺序,则执行折半查找;4.统计某个元素在数组中出现的个数。

2024-12-01 21:08:08 182

原创 实习02——习题一(交换,选择,冒泡排序)

实现对数组中的元素进行按照从小到大的顺序进行排序;要求: 实现三种排序算法(交换,选择,冒泡)

2024-12-01 20:38:09 517

原创 实习01——习题四(输出从任意一个数字开始的N个素数)

编写程序,输出从任意一个数字开始的N个素数。例如:从10开始的5个素 数,运行程序后,输出11 13 17 19 23. 要求: 1.编写函数判断一个数是否是素数;2.编写函数接收开始的数字和输出的素数个数。3.用主函数测试编写的程序是否正确。第二步,输出从任意一个数字开始的N个素数,这里包括该输入的数字本身。第一步,判断输入的数是否是素数。

2024-12-01 19:54:21 224

原创 实习01——习题三(最大公约数与最小公倍数)

求最大公约数可用辗转相除法,其严谨的证明过程可参考《初等数论》这本书,最小公倍数可以用两数之积除以他们的最大公约数求得,即a*b/c(a,b为两数,c为最大公约数)但考虑数字过大的情况,可以将形式转化为(a/c)*b。编写两个函数,分别计算两个整数的最大公约数和最小公倍数, 编写主函数进行测试,由键盘输入两个整数,调用函数,计算出最大公约 数和最小公倍数,并输出计算结果。

2024-12-01 19:39:51 211

原创 实习01——习题二(求所给整数的位数及逆序后的整数)

任意给定一个整数,要求如下: 1.求出他是几位数;2.按照逆序组织成一个整数;例如:输入289,计算出为3位数,并逆序组织一个整数为982. 3.请将上述功能单独编写一个函数,实现输入一个整数,获知其数位以及 逆序数字。本次作业用到预处理<string>

2024-12-01 19:30:58 319

原创 实习01——习题一(实现电文保密)

为了使电文保密,最简单的方法就是按照一定的规律将电文转换 成密码,收报人在根据约定的规律将电文译回原文。例如可按照如下规律 将电文编程密码: 对大写字母变成其后面的第四个字母,如A->E,W->A;小写字母变成其后的第3个字母,如a->d,x->a,并将数字0—9转化为从A开始的大写字母。请根据题意,编写代码实现将原文变为密码的功能。此题是在学习动态数组之前所作,所以需要预先设定数组长度,在这其中改变j和k的值就能改变密码的变化情况。

2024-12-01 19:01:10 291

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除