1 #!/bin/bash

2 # gcd.sh: 最大公约数

3 #         用Euclid运算法则

4

5 #  两个整数的"最大公约数"

6 #+ 是能被这两个整数整除的大最整数.

7

8 #  Euclid运算法则采用逐次除法.

9 #  每一次都重新赋值,

10 #+ 被除数

11 #+ 除数

12 #+ 直到 余数 = 0.

13 #+ 最后被传递的值中:最大公约数 = 被除数.

14 #

15 #  关于Euclid运算法则的讨论有一个出色的讨论,

16 #  访问Jim Loy的网站, http://www.jimloy.com/number/euclids.htm.

17

18

19 # ------------------------------------------------------

20 # 参数检查

21 ARGS=2

22 E_BADARGS=65

23

24 if [ $# -ne "$ARGS" ]

25 then

26   echo "Usage: `basename $0` first-number second-number"

27   exit $E_BADARGS

28 fi

29 # ------------------------------------------------------

30

31

32 gcd ()

33 {

34

35   dividend=$1                    #  随意赋值.

36   divisor=$2                     #+ 这里在两个参数赋大的还是小的都没有关系.

37                                  #  为什么?

38

39   remainder=1                    #  如果在循环中使用未初始化的变量,

40                                  #+ 在循环中第一个传递值会使它返回一个错误信息

41                                  #

42

43   until [ "$remainder" -eq 0 ]

44   do

45     let "remainder = $dividend % $divisor"

46     dividend=$divisor            # 现在用最小的两个数字来重复.

47     divisor=$remainder

48   done                           # Euclid运算法则

49

50 }                                # 最后的$dividend变量值就是最大公约数.

51

52

53 gcd $1 $2

54

55 echo; echo "GCD of $1 and $2 = $dividend"; echo

56

57

58 # 练习:

59 # --------

60 #  检测命令行参数以确保它们是整数,

61 #+ 如果不是整数则给出一个适当的错误信息并退出脚本.

62

63 exit 0

linux shell求最大公约数,shell求最大公约数相关推荐

  1. linux shell脚本 定义变量,Shell脚本应用 - 编制shell脚本、shell变量

    随着Linux系统在企业中的应用越来越多,服务器的自动化管理也变得越来越重要.在Linux服务器的自动化维护工作中,除了计划任务的设置以外,Shell脚本的应用也是非常重要的一部分.作为Linux系统 ...

  2. Linux程序设计 读笔2 Shell脚本

    第二章 Shell程序设计 四.管道和重定向 1 重定向输出 ls -l > lsoutput.txt ps >> lsoutput.txt >>表示附加到一个文件中 文 ...

  3. ACMNO.22 C语言-公约公倍2 写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。 输入 两个数 输出 最大公约数 最小公倍数

    题目描述 写两个函数,分别求两个整数的最大公约数和最小公倍数, 用主函数调用这两个函数,并输出结果两个整数由键盘输入. 输入 两个数 输出 最大公约数 最小公倍数 样例输入 6 15 样例输出 3 3 ...

  4. 使用函数求两个整数的最大公约数和最小公倍数

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p240 习题7 3.编写两个函数,分别求两个整数的最大公约数和最小公倍数 #include<st ...

  5. linux read函数_Linux中shell输入ls命令后会系统会发生什么

    大家都用过Shell执行一些Linux命令 在命令的背后,到底发生了什么呢,让我们来一起探索 Shell执行主流程 1.Printthe info of reminding 打印提示信息 2.Wait ...

  6. 10.05 最初对Linux的了解,对Shell的认识

    linux的起源:UNIX,代码开源,可以得到源代码,然后自己编译,通过以后可以运行程序. 特点:免费的;兼容POSIX1.0标准;多用户,多任务系统;良好的用户界面;提供了图形界面;支持多种文件系统 ...

  7. 算法 求两个自然数的最大公约数 C++

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! //** ...

  8. c语言求出两个最大素数,求两个正整数的最大公约数      思路:这是一个很基本的问题,最常见的就是两种方法,辗转相除法和辗转相减法。通式分别为 f(x, y) = f(y, x%y...

    求两个正整数的最大公约数 思路:这是一个很基本的问题,最常见的就是两种方法,辗转相除法和辗转相减法.通式分别为 f(x, y) = f(y, x%y), f(x, y) = f(y, x - y) ( ...

  9. linux计算机中文件意思,shell在计算机语言中一般是啥意思,比如在linux中

    2018-11-22 回答 在计算机科学中,shell俗称壳(用来区别于核),是指"提供使用者使用界面"的软件(命令解析器).它类似于dos下的command.com.它接收用户命 ...

  10. Linux Shell脚本 - 什么是Shell

    前言 笔者也是刚接触Linux,很多概念也是一边查资料一边摸索着理解,下面有一些专业性的术语是来源于网络资源. 一些概念笔者本人也还理解得比较模糊,看似简单的东西,深入发掘也会发现并不简单,很多概念都 ...

最新文章

  1. 亿级流量系统架构之如何设计承载百亿流量的高性能架构【石杉的架构笔记】...
  2. ActiveMQ实战篇之 java和spring xml创建Broker(一)
  3. Intellij IDEA2017 的控制台里不识别maven命令问题处理
  4. 玩游戏提示计算机性能过低,如果玩游戏的fps低怎么办?八个问题和九个解决方案...
  5. 在SQL Server查询分析器里查询Excel文件数据
  6. Paper再现:MD+AI自动编码机探测蛋白变构(一):文章分析
  7. 冈萨雷斯数字图像处理开篇
  8. 三子棋游戏的具体实现
  9. 利用Power Design 进行数据库设计(超详细)
  10. 30 行代码实现,支付宝蚂蚁森林自动收能量!
  11. R语言学习笔记(四)--数据结构
  12. 重磅!上海出落户新政:双一流应届硕士可直接落户!
  13. 关于yd ui 移动端自适应的方案
  14. yaml 编码格式简述
  15. 2023复旦大学计算机考研信息汇总
  16. 查看linux设备Ran的大小,linux – 来自/ dev / zero和/ dev / urandom的不同文件大小
  17. 漫反射辐照——并不是很完全的翻译
  18. 中兴视讯服务器 广州,中兴通讯推出全新高清视讯解决方案
  19. 开局觉醒天道酬勤天赋(二)
  20. Gson踩坑笔记:为什么对象的构造方法没有被执行?

热门文章

  1. unique中译_unique 是什么意思_unique 的翻译_音标_读音_用法_例句_爱词霸在线词典...
  2. WOL远程开机,实际落地成功。
  3. Mbps 和 MB/s的区别
  4. Wireshark的使用(一)【原创 羊羊洒洒】
  5. 大数据之flink定时器
  6. 唐澳华的亚索有错吗?
  7. Samba+Vsftpd+Mysql搭建平台实验
  8. android recocery模式,小米进入Recovery模式的两种方式
  9. HDU多校6821A Very Easy Graph Proble
  10. java采用MD5加密解密