算法
文章平均质量分 65
编程呀吼吼吆
编程让我疯狂 ,,,,,,,,,,
展开
-
整数移位
n个整数存入一维数组中,将该组数循环移动m位。 1、逐渐后移: 每次向后移动一次,共移动m次,将最后一位放在第一位,缺点:算法复杂度较高。 #include int main() { int n,m, *a; int i,j,temp; scanf("%d",&n); a=new int [n]; for(i=0;i<n;i++) scanf("%d",&a原创 2014-12-17 23:37:59 · 831 阅读 · 0 评论 -
子集和问题 暴力求解算法
子集和问题的一个实例为。其中S={x1,x2,…,xn}是一个正整数的集合,c是一个正整数。子集和问题判定是否存在S的一个子集S1,使得S1中所有元素的和为c。 暴力法也称为穷举法、蛮力法,它要求调设计者找出所有可能的方法,然后选择其中的一种方法,若该方法不可行则试探下一种可能的方法。 暴力法也是一种直接解决问题的方法,常常直接基于问题的描述和所涉及的概念定义。 暴力法不是一个最好的算法,但原创 2014-12-10 10:28:35 · 2977 阅读 · 0 评论 -
运用分支限界法解决布线问题
#include typedef struct { int row; int col; }Position; int FindPath (Position start, Position finish, int &PathLen, Position *&path) { //计算从起始位置start到目标位置finish的最短布线路径,找到返回1,否则,返回0 int i; i原创 2014-12-11 09:41:52 · 3353 阅读 · 0 评论 -
删除零元素
从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。输出删除后数组中元素的个数并依次输出数组元素。 样例输入:(输入格式说明:5为输入数据的个数,3 4 0 0 2 是以空格隔开的5个整数)5 3 4原创 2014-12-09 16:11:12 · 303 阅读 · 0 评论 -
统计数字问题
问题描述:一本书的页码从自然数1开始计数,直到自然数n。书的页码按照通常的习惯编排,每个页码都不包含多余的前导数字0。例如,第6页用数字6表示,而不是06或006等。数字计数问题要求对给定书的总页码n,计算出书的全部页码中分别用到多少次数字0,1,2,...,9。方法1解题思路: 暴力求解。本题关键在于将每一页码的数字进行分解,这种方式可以利用整数的除法和对10取余计算。例如,对于数的分解过程可以原创 2014-12-03 22:35:20 · 572 阅读 · 0 评论 -
子集和问题 回溯法求解
子集和问题的一个实例为。其中S={x1,x2,…,xn}是一个正整数的集合,c是一个正整数。子集和问题判定是否存在S的一个子集S1,使得S1中所有元素的和为c。 试设计一个解子集和问题的回溯法。 回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。用回溯算法解决问题的一般步骤为: 1、原创 2014-12-10 09:10:49 · 18467 阅读 · 4 评论 -
匪警请拨110
匪警请拨110,即使手机欠费也可拨通! 为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练! 某批警察叔叔正在进行智力训练: 12 3 4 5 6 7 8 9 = 110; 请看上边的算式,为了使等式成立,需要在数字间填入加号或者减号(可以不填,但不能填入其它符号)。之间没有填入符号原创 2014-12-29 12:54:12 · 578 阅读 · 0 评论