04 2016 档案

I00006 打印等腰三角形字符图案(底边在下)
摘要:曾经的计算机,没有显示屏,人们操作计算机时,用打印机记录执行的操作命令。后来有了显示屏,不过最初的显示屏是字符频幕,输出只能是字符。即使是今日,计算机已经进入多窗口图形界面时代,有时程序的输出也依然是字符的。打印等腰三角形程序,关键是有关循环控制。程序中需要控制好总行... 阅读全文

posted @ 2016-04-30 17:55 海岛Blog 阅读(117) 评论(0) 推荐(0)

I00006 打印等腰三角形字符图案(底边在下)
摘要:曾经的计算机,没有显示屏,人们操作计算机时,用打印机记录执行的操作命令。后来有了显示屏,不过最初的显示屏是字符频幕,输出只能是字符。即使是今日,计算机已经进入多窗口图形界面时代,有时程序的输出也依然是字符的。打印等腰三角形程序,关键是有关循环控制。程序中需要控制好总行... 阅读全文

posted @ 2016-04-30 17:55 海岛Blog 阅读(144) 评论(0) 推荐(0)

I00005 打印直角三角形字符图案
摘要:曾经的计算机,没有显示屏,人们操作计算机时,用打印机记录执行的操作命令。后来有了显示屏,不过最初的显示屏是字符频幕,输出只能是字符。即使是今日,计算机已经进入多窗口图形界面时代,有时程序的输出也依然是字符的。打印直角三角形程序,关键是有关循环控制。程序中需要控制好总行... 阅读全文

posted @ 2016-04-30 17:35 海岛Blog 阅读(342) 评论(0) 推荐(0)

I00004 贝尔三角形(解法二)
摘要:之前的版本使用了一个二维数组来存储贝尔三角形,这个版本则使用了一维数组来存储,技巧要高很多。在组合数合里,贝尔数给出了集合划分的数目,以数学家埃里克·坦普尔·贝尔(Eric Temple Bell)命名,是组合数学中的一组整数数列。有关贝尔三角形,这里重复介绍一下。1... 阅读全文

posted @ 2016-04-30 06:48 海岛Blog 阅读(281) 评论(0) 推荐(0)

HDU1164 Eddy's research I(解法二)
摘要:问题链接:HDU1164 Eddy's research I问题描述:参见上文。问题分析:这是一个整数因子分解问题。前一个解法是使用计算欧拉函数的基本思想进行分解,即从小因子开始逐步分解。这个解法则使用Eratosthenes筛选法计算必要的素数放在数组中备用。然后使... 阅读全文

posted @ 2016-04-29 19:50 海岛Blog 阅读(59) 评论(0) 推荐(0)

HDU1164 Eddy's research I(解法二)
摘要:问题链接:HDU1164 Eddy's research I问题描述:参见上文。问题分析:这是一个整数因子分解问题。前一个解法是使用计算欧拉函数的基本思想进行分解,即从小因子开始逐步分解。这个解法则使用Eratosthenes筛选法计算必要的素数放在数组中备用。然后使... 阅读全文

posted @ 2016-04-29 19:50 海岛Blog 阅读(111) 评论(0) 推荐(0)

HDU1164 Eddy's research I【素因子分解】
摘要:问题链接:HDU1164 Eddy's research I问题描述:参见上文。问题分析:这是一个整数因子分解问题。采用计算欧拉函数的基本思想进行分解,即从小因子开始逐步分解。需要注意的是,对于需要分解的整数n,最后被分解到只剩下1时,不需要输出,即不输出1。程序说明... 阅读全文

posted @ 2016-04-29 15:31 海岛Blog 阅读(136) 评论(0) 推荐(0)

HDU1164 Eddy's research I【素因子分解】
摘要:问题链接:HDU1164 Eddy's research I问题描述:参见上文。问题分析:这是一个整数因子分解问题。采用计算欧拉函数的基本思想进行分解,即从小因子开始逐步分解。需要注意的是,对于需要分解的整数n,最后被分解到只剩下1时,不需要输出,即不输出1。程序说明... 阅读全文

posted @ 2016-04-29 15:31 海岛Blog 阅读(116) 评论(0) 推荐(0)

POJ1006 UVA756 UVALive5421 Biorhythms【中国剩余定理】
摘要:BiorhythmsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 136837 Accepted: 43771DescriptionSome people believe that there ar... 阅读全文

posted @ 2016-04-29 12:32 海岛Blog 阅读(155) 评论(0) 推荐(0)

POJ1006 UVA756 UVALive5421 Biorhythms【中国剩余定理】
摘要:BiorhythmsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 136837 Accepted: 43771DescriptionSome people believe that there ar... 阅读全文

posted @ 2016-04-29 12:32 海岛Blog 阅读(113) 评论(0) 推荐(0)

HDU2098 分拆素数和
摘要:问题链接:HDU2098分拆素数和问题简述:哥德巴赫猜想说,大于2的偶数可以分解成两个素数之和。该问题求分解个数。问题分析:解决本问题,首先用Eratosthenes筛选法求得必要的素数,然后用试探法求可分解的个数。程序说明:对于输入的偶数sum而言,如果能够分解成两... 阅读全文

posted @ 2016-04-29 09:19 海岛Blog 阅读(111) 评论(0) 推荐(0)

HDU2098 分拆素数和
摘要:问题链接:HDU2098分拆素数和问题简述:哥德巴赫猜想说,大于2的偶数可以分解成两个素数之和。该问题求分解个数。问题分析:解决本问题,首先用Eratosthenes筛选法求得必要的素数,然后用试探法求可分解的个数。程序说明:对于输入的偶数sum而言,如果能够分解成两... 阅读全文

posted @ 2016-04-29 09:19 海岛Blog 阅读(131) 评论(0) 推荐(0)

HDU2099 整除的尾数【模除】
摘要:问题链接:HDU2099 整除的尾数问题简述:参见上述链接。问题分析:开始时,采用枚举法来解,当时用C语言写了程序。后面又找到了好办法,用C++语言重写了程序,可以有个比较。新写的程序放在前面。这个问题使用枚举法进行求解,并不是一个难题。要点有以下3点:1.读题,正确... 阅读全文

posted @ 2016-04-29 07:52 海岛Blog 阅读(148) 评论(0) 推荐(0)

HDU2099 整除的尾数【模除】
摘要:问题链接:HDU2099 整除的尾数问题简述:参见上述链接。问题分析:开始时,采用枚举法来解,当时用C语言写了程序。后面又找到了好办法,用C++语言重写了程序,可以有个比较。新写的程序放在前面。这个问题使用枚举法进行求解,并不是一个难题。要点有以下3点:1.读题,正确... 阅读全文

posted @ 2016-04-29 07:52 海岛Blog 阅读(388) 评论(0) 推荐(0)

I00003 贝尔三角形
摘要:在组合数合里,贝尔数给出了集合划分的数目,以数学家埃里克·坦普尔·贝尔(Eric Temple Bell)命名,是组合数学中的一组整数数列。贝尔三角形类似于杨辉三角,只是其中各个项的计算规则不同。其规则如下:1.第一行第一项是12.对于n>1,第n行第一项等同第n-1... 阅读全文

posted @ 2016-04-28 11:00 海岛Blog 阅读(268) 评论(0) 推荐(0)

I00003 贝尔三角形
摘要:在组合数合里,贝尔数给出了集合划分的数目,以数学家埃里克·坦普尔·贝尔(Eric Temple Bell)命名,是组合数学中的一组整数数列。贝尔三角形类似于杨辉三角,只是其中各个项的计算规则不同。其规则如下:1.第一行第一项是12.对于n>1,第n行第一项等同第n-1... 阅读全文

posted @ 2016-04-28 11:00 海岛Blog 阅读(456) 评论(0) 推荐(0)

模乘逆元与孙子定理
摘要:孙子定理也称为中国剩余定理。《孙子算经》卷下第二十六题(“物不知数”问题):有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?孙子定理讲的是求解一元线性同余方程组的方法。有人指出,孙子定理有以下5种解法:1.枚举法2.解不定方程法3.逐级满足法4.化为... 阅读全文

posted @ 2016-04-27 19:10 海岛Blog 阅读(302) 评论(0) 推荐(0)

模乘逆元与孙子定理
摘要:孙子定理也称为中国剩余定理。《孙子算经》卷下第二十六题(“物不知数”问题):有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?孙子定理讲的是求解一元线性同余方程组的方法。有人指出,孙子定理有以下5种解法:1.枚举法2.解不定方程法3.逐级满足法4.化为... 阅读全文

posted @ 2016-04-27 19:10 海岛Blog 阅读(276) 评论(0) 推荐(0)

缺8数
摘要:在自然数12345679中没有8,所以被称为“缺8数”,它有非常多奇妙的性质。缺8数在乘1至81中的9的倍数可以得到“清一色”,例如:12345679×9=11111111112345679×18=22222222212345679×27=33333333312345... 阅读全文

posted @ 2016-04-27 10:09 海岛Blog 阅读(237) 评论(0) 推荐(0)

缺8数
摘要:在自然数12345679中没有8,所以被称为“缺8数”,它有非常多奇妙的性质。缺8数在乘1至81中的9的倍数可以得到“清一色”,例如:12345679×9=11111111112345679×18=22222222212345679×27=33333333312345... 阅读全文

posted @ 2016-04-27 10:09 海岛Blog 阅读(189) 评论(0) 推荐(0)

Binary GCD algorithm
摘要:基于二进制计算最大公约数的算法。程序来自维基百科。#include // Recursive version in Cunsigned int gcd(unsigned int u, unsigned int v){ // simple cases (termi... 阅读全文

posted @ 2016-04-25 23:31 海岛Blog 阅读(235) 评论(0) 推荐(0)

Binary GCD algorithm
摘要:基于二进制计算最大公约数的算法。程序来自维基百科。#include // Recursive version in Cunsigned int gcd(unsigned int u, unsigned int v){ // simple cases (termi... 阅读全文

posted @ 2016-04-25 23:31 海岛Blog 阅读(115) 评论(0) 推荐(0)

HDU1576 A/B (解法二)【试探法】
摘要:问题链接:HDU1576A/B问题简述:参见上述链接。问题分析:之前给出来一个用扩展欧几里德算法解本问题的方法,时间上则比较慢。试探法有时也是高效率的。根据题意,输入的n=A%9973(没有输入A),A%B=0(A必能被B整除),B与9973互素(GCD(B,9973... 阅读全文

posted @ 2016-04-25 20:29 海岛Blog 阅读(138) 评论(0) 推荐(0)

HDU1576 A/B (解法二)【试探法】
摘要:问题链接:HDU1576A/B问题简述:参见上述链接。问题分析:之前给出来一个用扩展欧几里德算法解本问题的方法,时间上则比较慢。试探法有时也是高效率的。根据题意,输入的n=A%9973(没有输入A),A%B=0(A必能被B整除),B与9973互素(GCD(B,9973... 阅读全文

posted @ 2016-04-25 20:29 海岛Blog 阅读(96) 评论(0) 推荐(0)

I00002 打印九九乘法表
摘要:打印九九乘法表,其结果要像口诀一样顺口。程序的关键是有关循环控制问题。#include int main(void){ int i, j; for(i=1; i<=9; i++) { for(j=1; j<=i; j++) { ... 阅读全文

posted @ 2016-04-25 20:07 海岛Blog 阅读(97) 评论(0) 推荐(0)

I00002 打印九九乘法表
摘要:打印九九乘法表,其结果要像口诀一样顺口。程序的关键是有关循环控制问题。#include int main(void){ int i, j; for(i=1; i<=9; i++) { for(j=1; j<=i; j++) { ... 阅读全文

posted @ 2016-04-25 20:07 海岛Blog 阅读(98) 评论(0) 推荐(0)

计算阶乘
摘要:这里给出递归和递推两种计算阶乘的程序。#include // 递归法计算阶乘long factorial(int n){ if(n==0 || n==1) return 1; else return n * factorial(... 阅读全文

posted @ 2016-04-25 19:56 海岛Blog 阅读(168) 评论(0) 推荐(0)

计算阶乘
摘要:这里给出递归和递推两种计算阶乘的程序。#include // 递归法计算阶乘long factorial(int n){ if(n==0 || n==1) return 1; else return n * factorial(... 阅读全文

posted @ 2016-04-25 19:56 海岛Blog 阅读(148) 评论(0) 推荐(0)

KMP算法(C++版)
摘要:有关字符串匹配的最有效的算法。其算法复杂度为两个字符串的长度之和(m+n)。与C语言版本想比,这个版本只是使用C++语法,功能还是被封装在函数中。#include #include #include #include using namespace std;inlin... 阅读全文

posted @ 2016-04-25 19:27 海岛Blog 阅读(122) 评论(0) 推荐(0)

KMP算法(C++版)
摘要:有关字符串匹配的最有效的算法。其算法复杂度为两个字符串的长度之和(m+n)。与C语言版本想比,这个版本只是使用C++语法,功能还是被封装在函数中。#include #include #include #include using namespace std;inlin... 阅读全文

posted @ 2016-04-25 19:27 海岛Blog 阅读(131) 评论(0) 推荐(0)

KMP算法(C语言版)
摘要:有关字符串匹配的最有效的算法。其算法复杂度为两个字符串的长度之和(m+n)。#include #include void setnext(char t[], int next[]){ next[0]=-1; int i; for(i=1; i= 0)... 阅读全文

posted @ 2016-04-25 19:24 海岛Blog 阅读(127) 评论(0) 推荐(0)

KMP算法(C语言版)
摘要:有关字符串匹配的最有效的算法。其算法复杂度为两个字符串的长度之和(m+n)。#include #include void setnext(char t[], int next[]){ next[0]=-1; int i; for(i=1; i= 0)... 阅读全文

posted @ 2016-04-25 19:24 海岛Blog 阅读(441) 评论(0) 推荐(0)

I00001 杨辉三角
摘要:杨辉三角国际上称为Pascal三角形。杨辉三角与菲波拉契数列也是有关系的,看以下的图就知道了。这里给出来两种方法的实现,一是使用二维数组来存储杨辉三角,二是使用一维数组来存储杨辉三角并且一边计算一边输出结果。使用一维数组作为存储,实现打印杨辉三角,需要的技巧更高一些。... 阅读全文

posted @ 2016-04-25 11:15 海岛Blog 阅读(154) 评论(0) 推荐(0)

I00001 杨辉三角
摘要:杨辉三角国际上称为Pascal三角形。杨辉三角与菲波拉契数列也是有关系的,看以下的图就知道了。这里给出来两种方法的实现,一是使用二维数组来存储杨辉三角,二是使用一维数组来存储杨辉三角并且一边计算一边输出结果。使用一维数组作为存储,实现打印杨辉三角,需要的技巧更高一些。... 阅读全文

posted @ 2016-04-25 11:15 海岛Blog 阅读(220) 评论(0) 推荐(0)

ACM-ICPC是什么样的比赛
摘要:是程序设计能力的综合较量是程序设计与计算机语言、数据结构和算法技能的较量是智力的较量是数学基础与能力的较量 阅读全文

posted @ 2016-04-25 10:08 海岛Blog 阅读(169) 评论(0) 推荐(0)

ACM-ICPC是什么样的比赛
摘要:是程序设计能力的综合较量是程序设计与计算机语言、数据结构和算法技能的较量是智力的较量是数学基础与能力的较量 阅读全文

posted @ 2016-04-25 10:08 海岛Blog 阅读(258) 评论(0) 推荐(0)

HDU1576 A/B【扩展欧几里得算法】
摘要:问题链接:HDU1576 A/B问题简述:参见上述链接。问题分析:这个问题可以用解整数的不定方程来解决,即使用扩展欧几里德算法。根据题意,输入的n=A%9973(没有输入A),A%B=0(A必能被B整除),B与9973互素(GCD(B,9973)=1)。解题过程首先是... 阅读全文

posted @ 2016-04-25 09:40 海岛Blog 阅读(118) 评论(0) 推荐(0)

HDU1576 A/B【扩展欧几里得算法】
摘要:问题链接:HDU1576 A/B问题简述:参见上述链接。问题分析:这个问题可以用解整数的不定方程来解决,即使用扩展欧几里德算法。根据题意,输入的n=A%9973(没有输入A),A%B=0(A必能被B整除),B与9973互素(GCD(B,9973)=1)。解题过程首先是... 阅读全文

posted @ 2016-04-25 09:40 海岛Blog 阅读(123) 评论(0) 推荐(0)

快速计算素数程序
摘要:Wheel factorizationWheel factorization是一种生成素数方法。对于大于30的数,只有30n+1,30n+7,30n+11,30n+13,30n+17,30n+19,30n+23,30n+29才可能是素数,这里n>=1。#include... 阅读全文

posted @ 2016-04-25 00:02 海岛Blog 阅读(189) 评论(0) 推荐(0)

快速计算素数程序
摘要:Wheel factorizationWheel factorization是一种生成素数方法。对于大于30的数,只有30n+1,30n+7,30n+11,30n+13,30n+17,30n+19,30n+23,30n+29才可能是素数,这里n>=1。#include... 阅读全文

posted @ 2016-04-25 00:02 海岛Blog 阅读(280) 评论(0) 推荐(0)

Eratosthenes筛选法
摘要:比起C++版,有点太费空间,弃用。参见:Eratosthenes筛选法(C++版)。Sieve of Eratosthenes使用埃拉托斯特尼筛选法计算小于100000的素数。埃拉托斯特尼筛选法是最为知名的产生素数的筛选法,适用于产生最小的N个素数。该方法的唯一缺点是... 阅读全文

posted @ 2016-04-24 05:57 海岛Blog 阅读(179) 评论(0) 推荐(0)

Eratosthenes筛选法
摘要:比起C++版,有点太费空间,弃用。参见:Eratosthenes筛选法(C++版)。Sieve of Eratosthenes使用埃拉托斯特尼筛选法计算小于100000的素数。埃拉托斯特尼筛选法是最为知名的产生素数的筛选法,适用于产生最小的N个素数。该方法的唯一缺点是... 阅读全文

posted @ 2016-04-24 05:57 海岛Blog 阅读(135) 评论(0) 推荐(0)

最大素因数
摘要:Largest prime factor筛选法原理适用于本程序,但是不需要用数组来存储筛选结果。本程序参考欧拉函数写成,是采用逐步排除小素数因子最后得到最大素因数的方法。/* * 最大素因数—Largest prime factor * * The prime fac... 阅读全文

posted @ 2016-04-23 22:53 海岛Blog 阅读(212) 评论(0) 推荐(0)

最大素因数
摘要:Largest prime factor筛选法原理适用于本程序,但是不需要用数组来存储筛选结果。本程序参考欧拉函数写成,是采用逐步排除小素数因子最后得到最大素因数的方法。/* * 最大素因数—Largest prime factor * * The prime fac... 阅读全文

posted @ 2016-04-23 22:53 海岛Blog 阅读(262) 评论(0) 推荐(0)

欧拉函数
摘要:欧拉函数是数论中的一个重要函数。同时,它也是密码系统不可缺少的极其重要的函数。/* * 欧拉函数:数论中,对于正整数n,欧拉函数是小于n的数中与n互质的数的数目。 * 此函数以其首名研究者欧拉命名(Ruler'so totient function), * 又称为Eu... 阅读全文

posted @ 2016-04-23 22:29 海岛Blog 阅读(156) 评论(0) 推荐(0)

欧拉函数
摘要:欧拉函数是数论中的一个重要函数。同时,它也是密码系统不可缺少的极其重要的函数。/* * 欧拉函数:数论中,对于正整数n,欧拉函数是小于n的数中与n互质的数的数目。 * 此函数以其首名研究者欧拉命名(Ruler'so totient function), * 又称为Eu... 阅读全文

posted @ 2016-04-23 22:29 海岛Blog 阅读(166) 评论(0) 推荐(0)

插入排序
摘要:插入排序是一种简单的类似于冒泡排序的方法。然而,数据交换次数呈线性化,相对比较稳定。插入排序的基本思想是不断地将带排序的主键数据插入到有序的序列中,直到所有数据被排序。原始数据使用随机函数生成。采用结构化程序设计,可以很容易改为从标准输入或文件读入数据,只需要修改函数... 阅读全文

posted @ 2016-04-23 22:06 海岛Blog 阅读(147) 评论(0) 推荐(0)

插入排序
摘要:插入排序是一种简单的类似于冒泡排序的方法。然而,数据交换次数呈线性化,相对比较稳定。插入排序的基本思想是不断地将带排序的主键数据插入到有序的序列中,直到所有数据被排序。原始数据使用随机函数生成。采用结构化程序设计,可以很容易改为从标准输入或文件读入数据,只需要修改函数... 阅读全文

posted @ 2016-04-23 22:06 海岛Blog 阅读(185) 评论(0) 推荐(0)

排序算法的时间复杂度
摘要:Sorting Algorithms and Complexitiesn is the number of elementsk is the number of distinct objectsAlgorithmTime ComplexitySpace Complex... 阅读全文

posted @ 2016-04-23 21:49 海岛Blog 阅读(124) 评论(0) 推荐(0)

排序算法的时间复杂度
摘要:Sorting Algorithms and Complexitiesn is the number of elementsk is the number of distinct objectsAlgorithmTime ComplexitySpace Complex... 阅读全文

posted @ 2016-04-23 21:49 海岛Blog 阅读(109) 评论(0) 推荐(0)

计算最大子段(分治法)
摘要:这个程序使用分治法计算最大子段,结果为最大子段之和,用递归程序实现。原始数据使用随机函数生成。采用结构化程序设计,可以很容易改为从标准输入或文件读入数据,只需要修改函数getData即可。数据个数由宏定义给出,也可以轻松地改为输入。/* * 最大子段算法程序 */#i... 阅读全文

posted @ 2016-04-22 12:44 海岛Blog 阅读(238) 评论(0) 推荐(0)

计算最大子段(分治法)
摘要:这个程序使用分治法计算最大子段,结果为最大子段之和,用递归程序实现。原始数据使用随机函数生成。采用结构化程序设计,可以很容易改为从标准输入或文件读入数据,只需要修改函数getData即可。数据个数由宏定义给出,也可以轻松地改为输入。/* * 最大子段算法程序 */#i... 阅读全文

posted @ 2016-04-22 12:44 海岛Blog 阅读(189) 评论(0) 推荐(0)

选择问题(第k小元素)(分治法)
摘要:Selection algorithm选择问题即第k小元素问题。解决该问题的基本思想与快速排序算法相同,通过选择基元进行划分,从而知道第k小元素在哪里。原始数据使用随机函数生成。采用结构化程序设计,可以很容易改为从标准输入或文件读入数据,只需要修改函数getData即... 阅读全文

posted @ 2016-04-22 07:22 海岛Blog 阅读(1525) 评论(0) 推荐(0)

选择问题(第k小元素)(分治法)
摘要:Selection algorithm选择问题即第k小元素问题。解决该问题的基本思想与快速排序算法相同,通过选择基元进行划分,从而知道第k小元素在哪里。原始数据使用随机函数生成。采用结构化程序设计,可以很容易改为从标准输入或文件读入数据,只需要修改函数getData即... 阅读全文

posted @ 2016-04-22 07:22 海岛Blog 阅读(1034) 评论(0) 推荐(0)

折半查找(分治法)
摘要:Binary search algorithm折半查找也称为二分查找,是一个经典的查找算法。原始数据使用随机函数生成。采用结构化程序设计,可以很容易改为从标准输入或文件读入数据,只需要修改函数getData即可。数据个数由宏定义给出,也可以轻松地改为输入。使用快速排序... 阅读全文

posted @ 2016-04-21 15:26 海岛Blog 阅读(903) 评论(0) 推荐(0)

折半查找(分治法)
摘要:Binary search algorithm折半查找也称为二分查找,是一个经典的查找算法。原始数据使用随机函数生成。采用结构化程序设计,可以很容易改为从标准输入或文件读入数据,只需要修改函数getData即可。数据个数由宏定义给出,也可以轻松地改为输入。使用快速排序... 阅读全文

posted @ 2016-04-21 15:26 海岛Blog 阅读(240) 评论(0) 推荐(0)

计算最大值和最小值(分治法)
摘要:分治法计算最大值和最小值,是一个经典的算法程序。原始数据使用随机函数生成。采用结构化程序设计,可以很容易改为从标准输入或文件读入数据,只需要修改函数getData即可。数据个数由宏定义给出,也可以轻松地改为输入。/* * 求最大和最小值 * 这里包括经典的算法和分治算... 阅读全文

posted @ 2016-04-21 12:18 海岛Blog 阅读(373) 评论(0) 推荐(0)

计算最大值和最小值(分治法)
摘要:分治法计算最大值和最小值,是一个经典的算法程序。原始数据使用随机函数生成。采用结构化程序设计,可以很容易改为从标准输入或文件读入数据,只需要修改函数getData即可。数据个数由宏定义给出,也可以轻松地改为输入。/* * 求最大和最小值 * 这里包括经典的算法和分治算... 阅读全文

posted @ 2016-04-21 12:18 海岛Blog 阅读(405) 评论(0) 推荐(0)

扩展欧几里得算法
摘要:扩展欧几里得算法用于:1.求不定方程2.求解模的逆元3.求解同余方程/* * 扩展欧几里得算法(extended Euclidean algorithm) * 扩展欧几里德算法是用来在已知a, b求解一组x,y,使它们满足贝祖等式: * ax+by = gcd(a, ... 阅读全文

posted @ 2016-04-21 03:45 海岛Blog 阅读(189) 评论(0) 推荐(0)

扩展欧几里得算法
摘要:扩展欧几里得算法用于:1.求不定方程2.求解模的逆元3.求解同余方程/* * 扩展欧几里得算法(extended Euclidean algorithm) * 扩展欧几里德算法是用来在已知a, b求解一组x,y,使它们满足贝祖等式: * ax+by = gcd(a, ... 阅读全文

posted @ 2016-04-21 03:45 海岛Blog 阅读(169) 评论(0) 推荐(0)

冒泡排序
摘要:冒泡排序是主要排序算法的一种,思路简单明了,在数据基本有序的情况下,采用改进版,排序方法十分有效。冒泡排序的基本思想是比较相邻两个元素,如果不是有序则进行交换,重复这个操作,直到全部数据有序为止。冒泡排序对待排序的数据(关键码)进行多趟处理,每一趟可以将一个大的数交换... 阅读全文

posted @ 2016-04-20 07:43 海岛Blog 阅读(168) 评论(0) 推荐(0)

冒泡排序
摘要:冒泡排序是主要排序算法的一种,思路简单明了,在数据基本有序的情况下,采用改进版,排序方法十分有效。冒泡排序的基本思想是比较相邻两个元素,如果不是有序则进行交换,重复这个操作,直到全部数据有序为止。冒泡排序对待排序的数据(关键码)进行多趟处理,每一趟可以将一个大的数交换... 阅读全文

posted @ 2016-04-20 07:43 海岛Blog 阅读(138) 评论(0) 推荐(0)

国际马的跳法
摘要:问题:国际象棋的棋盘上,马从左上角跳到跳到右下角,总共有几种跳法。这个问题与中国象棋的棋盘上的跳马问题完全相同,只是起始和终止坐标的不同。但是,可以比较一下所有跳法的数量,了解问题复杂度的差异。求所有跳法,需要用穷尽搜索,试探法即回溯法是首选。程序中,以左上角坐标为(... 阅读全文

posted @ 2016-04-20 06:37 海岛Blog 阅读(414) 评论(0) 推荐(0)

国际马的跳法
摘要:问题:国际象棋的棋盘上,马从左上角跳到跳到右下角,总共有几种跳法。这个问题与中国象棋的棋盘上的跳马问题完全相同,只是起始和终止坐标的不同。但是,可以比较一下所有跳法的数量,了解问题复杂度的差异。求所有跳法,需要用穷尽搜索,试探法即回溯法是首选。程序中,以左上角坐标为(... 阅读全文

posted @ 2016-04-20 06:37 海岛Blog 阅读(283) 评论(0) 推荐(0)

中国马的跳法
摘要:问题:中国象棋的半张棋盘上,马从左下角跳到右上角,总共有几种跳法。求所有跳法,需要用穷尽搜索,试探法即回溯法是首选。程序中,以左上角坐标为(0,0),马从左下角(4,0)跳到右上角(0,8)。马在某个位置,一般而言有8种跳法,但是由于规定只能往右跳,所以只有4种跳法。... 阅读全文

posted @ 2016-04-20 06:25 海岛Blog 阅读(635) 评论(0) 推荐(0)

中国马的跳法
摘要:问题:中国象棋的半张棋盘上,马从左下角跳到右上角,总共有几种跳法。求所有跳法,需要用穷尽搜索,试探法即回溯法是首选。程序中,以左上角坐标为(0,0),马从左下角(4,0)跳到右上角(0,8)。马在某个位置,一般而言有8种跳法,但是由于规定只能往右跳,所以只有4种跳法。... 阅读全文

posted @ 2016-04-20 06:25 海岛Blog 阅读(327) 评论(0) 推荐(0)

桃子到底有多少
摘要:计算桃子有多少,有递归和递推两种方法。/* * * 问题描述:某人某日摘若干桃子,每天卖出一半并且吃掉一个,最后一天(第n天)剩下一个。 * 编写一个递归程序,天数n作为参数,计算一共摘了多少桃子。 * * 分析问题可以得出以下的递推函数: * f(1) = 1 ... 阅读全文

posted @ 2016-04-20 00:52 海岛Blog 阅读(128) 评论(0) 推荐(0)

桃子到底有多少
摘要:计算桃子有多少,有递归和递推两种方法。/* * * 问题描述:某人某日摘若干桃子,每天卖出一半并且吃掉一个,最后一天(第n天)剩下一个。 * 编写一个递归程序,天数n作为参数,计算一共摘了多少桃子。 * * 分析问题可以得出以下的递推函数: * f(1) = 1 ... 阅读全文

posted @ 2016-04-20 00:52 海岛Blog 阅读(197) 评论(0) 推荐(0)

计算x的n次方
摘要:计算x的n次方有递归和递推程序。不论从时间或空间来看,自然递推优于递归。然而,二分法则是极其优的一种方法,用在计算x的n次方完全没有问题,而且不是递归而是递推的程序。程序中使用条件编译,以便于统计分析算法的计算量。正解是函数power3。/* * * 计算x的n次方程... 阅读全文

posted @ 2016-04-20 00:28 海岛Blog 阅读(538) 评论(0) 推荐(0)

计算x的n次方
摘要:计算x的n次方有递归和递推程序。不论从时间或空间来看,自然递推优于递归。然而,二分法则是极其优的一种方法,用在计算x的n次方完全没有问题,而且不是递归而是递推的程序。程序中使用条件编译,以便于统计分析算法的计算量。正解是函数power3。/* * * 计算x的n次方程... 阅读全文

posted @ 2016-04-20 00:28 海岛Blog 阅读(944) 评论(0) 推荐(0)

菲波拉契数列
摘要:菲波拉契数列是典型的问题,几乎出现于所有有关程序设计和算法等的书籍中。菲波拉契数列与杨辉三角也是有关系的,看以下这张图就知道了。菲波拉契数列的递归定义如下:f(0)=0 n=0f(1)=1 n=1f(n)=f(n-2)+f(n-1) n>=2当n比较大之后,菲波拉契数... 阅读全文

posted @ 2016-04-19 08:21 海岛Blog 阅读(412) 评论(0) 推荐(0)

菲波拉契数列
摘要:菲波拉契数列是典型的问题,几乎出现于所有有关程序设计和算法等的书籍中。菲波拉契数列与杨辉三角也是有关系的,看以下这张图就知道了。菲波拉契数列的递归定义如下:f(0)=0 n=0f(1)=1 n=1f(n)=f(n-2)+f(n-1) n>=2当n比较大之后,菲波拉契数... 阅读全文

posted @ 2016-04-19 08:21 海岛Blog 阅读(361) 评论(0) 推荐(0)

八皇后(N皇后)问题算法程序(回溯法)
摘要:这是一个经典问题,经常出现于各种有关程序与算法的教科书中。本问题是求所有可行解,所以要用穷尽搜索,回溯法适合于穷尽搜索。本程序使用递归调用的回溯法来解决问题。递归的关键是递归调用和结束条件。比起非递归的回溯法来,本程序逻辑相对比较简洁,但是时间上会略微慢一些。/* *... 阅读全文

posted @ 2016-04-18 23:12 海岛Blog 阅读(849) 评论(0) 推荐(0)

八皇后(N皇后)问题算法程序(回溯法)
摘要:这是一个经典问题,经常出现于各种有关程序与算法的教科书中。本问题是求所有可行解,所以要用穷尽搜索,回溯法适合于穷尽搜索。本程序使用递归调用的回溯法来解决问题。递归的关键是递归调用和结束条件。比起非递归的回溯法来,本程序逻辑相对比较简洁,但是时间上会略微慢一些。/* *... 阅读全文

posted @ 2016-04-18 23:12 海岛Blog 阅读(266) 评论(0) 推荐(0)

汉若塔问题算法程序
摘要:这是一个经典的问题,递归程序实现,子程序中两次调用自己。也是递归调用程序中的范例。递归程序的关键在于递归调用和结束条件,通常十分简洁明了。程序中,使用条件编译来统计子程序调用次数。/* * * 汉诺塔问题算法程序 * */#include //#define DEBU... 阅读全文

posted @ 2016-04-18 22:59 海岛Blog 阅读(220) 评论(0) 推荐(0)

汉若塔问题算法程序
摘要:这是一个经典的问题,递归程序实现,子程序中两次调用自己。也是递归调用程序中的范例。递归程序的关键在于递归调用和结束条件,通常十分简洁明了。程序中,使用条件编译来统计子程序调用次数。/* * * 汉诺塔问题算法程序 * */#include //#define DEBU... 阅读全文

posted @ 2016-04-18 22:59 海岛Blog 阅读(129) 评论(0) 推荐(0)

HDU2035 人见人爱A^B【快速模幂】
摘要:问题链接:HDU2035 人见人爱A^B问题简述:计算A^B的最后三位整数。问题分析:这问题可以用乘方取模函数来解决。程序说明:增加一个C++语言的版本。AC的C++语言程序如下:#include using namespace std;const int MOD =... 阅读全文

posted @ 2016-04-18 15:57 海岛Blog 阅读(246) 评论(0) 推荐(0)

HDU2035 人见人爱A^B【快速模幂】
摘要:问题链接:HDU2035 人见人爱A^B问题简述:计算A^B的最后三位整数。问题分析:这问题可以用乘方取模函数来解决。程序说明:增加一个C++语言的版本。AC的C++语言程序如下:#include using namespace std;const int MOD =... 阅读全文

posted @ 2016-04-18 15:57 海岛Blog 阅读(104) 评论(0) 推荐(0)

乘方取模计算(模幂计算)
摘要:乘方取模计算也称为模幂计算,在密码系统中经常使用,是不可缺少的。使用本程序可以解HDU2035,只需要考虑输入和输出。/* * 乘方取模 * * 已知给定的正整数a、n和m,计算x的值,a^n = x (mod m)。 * * 二分法用在这里也很有效果。 */#inc... 阅读全文

posted @ 2016-04-18 08:04 海岛Blog 阅读(267) 评论(0) 推荐(0)

乘方取模计算(模幂计算)
摘要:乘方取模计算也称为模幂计算,在密码系统中经常使用,是不可缺少的。使用本程序可以解HDU2035,只需要考虑输入和输出。/* * 乘方取模 * * 已知给定的正整数a、n和m,计算x的值,a^n = x (mod m)。 * * 二分法用在这里也很有效果。 */#inc... 阅读全文

posted @ 2016-04-18 08:04 海岛Blog 阅读(127) 评论(0) 推荐(0)

导航