随笔分类 - C/C++
摘要:如果想求 100 以内的全部素数,该怎么办呢?来看看解决方案: 第一种貌似是最直观的,即:若一个数 m 不能被 2 ~ m-1 之间的任何整数整除的话,就表明它是一个素数(Prime Number),程序如下: #include "stdio.h" void main() { /*求 100 以内的...
阅读全文
摘要:所谓的选择排序,指的是把一组杂乱无章的数据按照大小顺序排序,选择排序所采用的方法是:首先找到值最小的元素,然后把这个元素与第一个元素交换,这样,值最小的元素就放到了第一个位置,接着,再从剩下的元素中找到值最小的,把它和第二个元素互换,使得第二个元素放在第二的位置上面,以此类推,直到所有的值由小到大顺...
阅读全文
摘要:对于这个问题,我们首先要提取最后一个数字输出,这可用取模 10 的余数来求得,然后去掉最低位再取模 10 的余数就得到此低位,以此类推便可得到整数数字的反序输出。 来看看 C 语言的 do-while 语句以及 while 语句的实现方法: #include "stdio.h" void main(...
阅读全文
摘要:前几天复习了一下对分查找(Binary Search),它提供了在 O(log N) 时间内的 Find (查找操作),先来看看对分查找的叙述要求: 给定一个整数 X 和整数 ,后者已经预先排序,并且已经在内存中,求使得 的下标 i ,如果 X 不在数据之中,则返回 i = -1。 来看...
阅读全文
摘要:这两天看了看最大子序列问题,顺便的做一下笔记,最大子序列问题相信大家都再熟悉不过了,来回顾一下问题: 给定整数(可能有负数),求的最大值(为方便起见,如果所有整数均为负数,则最大子序列和为 0 )。 下面来看三种实现方法: 1,使用两层 for 循环,算法复杂度显然是 O(N²): int M...
阅读全文
摘要:斐波那契(Fabonacci)序列起源于中世纪的意大利,问题是这样给出的:假定每对兔子每个月生出新的一对兔子来,新的每对兔子过两个月就可以生育。其次,这些兔子都不死,这样第一个月有一对兔子,第二个月有两对兔子,第三个月有三对兔子(第一个月的一对兔子又生了一对),第四个月有五对兔子(第二个月已有的两对...
阅读全文
摘要:今天接着复习了一些 C 语言的知识点,看了一个问题,就是求两个正整数的最大公因子。 教材里采用的是 Euclid (欧几里德)算法来求解的,其算法是: 1,输入两个正整数 m 和 n。 2,用 m 除以 n,余数为 r,如果 r 等于 0,则 n 就是最大公因,算法结束,否则执行 3。 3,把 n ...
阅读全文
摘要:好久没有写过 C 语言的代码了,大一上半学期必修课有 C 语言,不过现在大三,因为一直没有写过所以忘得也差不多了,这一段时间想补一补数据结构的知识,去图书馆借了本 C 语言版的《数据结构与算法分析》,也巩固一下 C 语言。 小小练手的题目:说是有一个正整数 n ,写一个递归算法来输出 n 。 不得不...
阅读全文

浙公网安备 33010602011771号