思想是学的 代码创作是自己的 很喜欢前几行的逻辑严谨 #!/bin/bash#判断两个整数的大小read -p "请输入两个整数a b :" a b #或者使用a=$1[ -z "$a" ]||[ -z "$b" ]&&{ echo "你输入的数为零"exit 1}#输入的值是否为0expr $a + 10 &>/dev/null RETUAL1=$?expr $b + 10 &>/…
两个整数之间比较 Liunx中,都是字符型,但是加了数值比较的选项,所以自动将他们转换成了整数型进行比较,不需要对这些参数进行变量转换或者重新声明 测试选项 作用 整数1 -eq 整数2 判断整数1是否和整数2相等(相等为真) 整数1 -ne 整数2 判断整数1是否和整数2不相等(不相等为真) 整数1 -gt 整数2 判断整数1是否大于整数2(大于为真) 整数1 -lt 整数2 判断整数1是否小于整数2(小于位置) 整数1 -ge 整数2 判断整数1是否大于等于整数2(大于等于为真) 整数1 -…
算法课有这么一节,专门介绍分治法的,上机实验课就是要代码实现大整数乘法.想当年比较混,没做出来,颇感遗憾,今天就把这债还了吧! 大整数乘法,就是乘法的两个乘数比较大,最后结果超过了整型甚至长整型的最大范围,此时如果需要得到精确结果,就不能常规的使用乘号直接计算了.没错,就需要采用分治的思想,将乘数“分割”,将大整数计算转换为小整数计算. 在这之前,让我们回忆一下小学学习乘法的场景吧.个位数乘法,是背诵乘法口诀表度过的,不提也罢:两位数乘法是怎么做的呢?现在就来一起回忆下12*34吧:    3 …
主要内容:增加两个整数溢出检测 #include <stdio.h> #include <limits.h> int main(int argc, char *argv[]) { /* * a和b为非负整型变量,检測a+b是否会"溢出" */ // INT_MAX=2147483647 int a=123456789,b=2147483000; /* 方法一: if(a+b < 0) printf("overflow\n"); 错误原因…
题目:编程求解,输入两个整数n和m,从数列1,2,3,……n中随意取几个数,使其和等于m.要求将所有的可能组合列出来. 分析:分治的思想.可以把问题(m,n)拆分(m - n, n -1)和(m, n - 1). 注意点:1.n大于m时,可直接从n = m出开始搜索 2.结束条件:n < 1 || m < 1 3.打印输出结果.注意打印输出结果并不代表函数调用结束,以n = 7 和 m = 10为例,7.3和7.2.1都是一种结果,不能得到7.3的时候终止.打印输出的条件是n = m 程序代码…
思路分析: (1)求差判定法:  如果两个数相差不大,可以用大数减去小数,所得的差与小数的最大公约数就是原来两个数的最大公约数.例如:求78和60的最大公约数.78-60=18,18和60的最大公约数是6,所以78和60的最大公约数是6.  如果两个数相差较大,可以用大数减去小数的若干倍,一直减到差比小数小为止,差和小数的最大公约数就是原来两数的最大公约数.  例如:求92和16的最大公约数.92-16=76,76-16=60,60-16=44,44-16=28,28-16=12,12和16的最…
中兴面试题之中的一个.难度系数中. 题目描写叙述例如以下:输入两个整数n 和m,从数列1,2.3.......n 中任意取几个数, 使其和等于m ,要求将当中全部的可能组合列出来. 逻辑分析: 1.比起微软,google,百度这些公司,中兴的面试题还是略显逗比的,并不是是说难度上差异,而是中兴的题目总是显得不伦不类.本题事实上就是考察数的组合,对于此类问题.通常手段都是递归,而我们的目标就在于找出递归式. 2.问题事实上本质上就是0/1背包问题,对于每个n,我们採用贪婪策略,先考察是否取n,假设…
/*********************************************************************  * Author  : Samson  * Date    : 09/19/2014  * Test platform:  *              Linux ubuntu 3.2.0-58-generic-pae  *              GNU bash, version 4.2.39  * ***********************…
1057: 输入两个整数,求他们相除的余数 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 177  Solved: 136[Submit][Status][Web Board] Description 输入两个整数,求他们相除的余数.用带参的宏或模板函数来实现,编程序. Input 两个短整型数a,b 两个长整型数c,d Output a/b的余数 c/d的余数 Sample Input 10 9 100000000 999999 Sample O…
[本文链接] http://www.cnblogs.com/hellogiser/p/ab-set-intersection.html [分析] 思路1:排序法 对集合A和集合B进行排序(升序,用快排,平均复杂度O(N*logN)),设置两个指针p和q,同时指向集合A和集合B的最小值,不相等的话移动*p和*q中较小值的指针,相等的话同时移动指针p和q,并且记下相等的数字,为交集的元素之一,依次操作,直到其中一个集合没有元素可比较为止. 优点:操作简单,容易实现. 缺点:使用的排序算法不当,会耗费…