【python】编程语言入门经典100例--16

简介:

  1 #题目:输入两个正整数m和n,求其最大公约数和最小公倍数。


代码:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
   3  =  int ( input ( '请输入第一个正整数:' ))
   4  =  int ( input ( '请输入第二个正整数:' ))
   5  =  1
   6  =  1
   7  limax  =  []
   8  li1  =  []
   9  li2  =  []
  10  li  =  []
  11  while  (i >  0  and  i < m  and  i < n):
  12      if  (m % = =  0  and  n % = =  0 ):
  13          limax.append(i)
  14      + =  1
  15  print ( '%d和%d的最大公约数为%d' % (m,n, max (limax)))
  16 
  17  while  (j >  0 ):
  18     
  19      li1.append(j * m)
  20      li2.append(j * n)
  21      for  in  li1:
  22          for  in  li2:
  23              if  = =  y:
  24                  print ( '%d和%d的最小公倍数是:%d' % (m,n,x))
  25                  =  - 1
  26      + =  1


运行结果:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@HK code_100] # python code_16.py 
请输入第一个正整数: 4
请输入第二个正整数: 7
4 7 的最大公约数为 1
4 7 的最小公倍数是: 28
[root@HK code_100] # python code_16.py 
请输入第一个正整数: 14
请输入第二个正整数: 21
14 21 的最大公约数为 7
14 21 的最小公倍数是: 42
[root@HK code_100]
[root@HK code_100] # python code_16.py 
请输入第一个正整数: 40
请输入第二个正整数: 60
40 60 的最大公约数为 20
40 60 的最小公倍数是: 120
[root@HK code_100] #


代码分析:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
   3  =  int ( input ( '请输入第一个正整数:' ))             #接收第一个数
   4  =  int ( input ( '请输入第二个正整数:' ))             #接收第二个数
   5  =  1
   6  =  1
   7  limax  =  []
   8  li1  =  []
   9  li2  =  []
  10  li  =  []
  11  while  (i >  0  and  i < m  and  i < n):                 #当i>0并且i<m并且i<n,最大公约数一定比这个数小
  12      if  (m % = =  0  and  n % = =  0 ):                    #如果一个数能被m和n同时整除
  13          limax.append(i)                            #将符合条件的数添加到列表limax
  14      + =  1                                         #i循环+1,当i不满足while条件时跳出循环
  15  print ( '%d和%d的最大公约数为%d' % (m,n, max (limax)))   #格式化输出最大公约数,limax列表中的最大的数就是m和n的最大公约数
  16 
  17  while  (j >  0 ):                                     #确定循环条件
  18     
  19      li1.append(j * m)                                #创建list,为m的所有倍数
  20      li2.append(j * n)                                #创建list,为n的所有倍数
  21      for  in  li1:                                  #遍历li1
  22          for  in  li2:                              #遍历li2
  23              if  = =  y:                             #当两个list中有一项相等时
  24                  print ( '%d和%d的最小公倍数是:%d' % (m,n,x))     #打印这个第一个出现的相等的数,这个数就是m和n的最下公倍数
  25                  =  - 1                             #修改while判断条件,跳出循环
  26      + =  1                                         #j循环+1,逐渐扩充列表






      本文转自snc_snc 51CTO博客,原文链接:http://blog.51cto.com/netsyscode/1746234 ,如需转载请自行联系原作者




相关文章
|
29天前
|
Java Python 开发者
Python 学习之路 01基础入门---【Python安装,Python程序基本组成】
线程池详解与异步任务编排使用案例-xian-cheng-chi-xiang-jie-yu-yi-bu-ren-wu-bian-pai-shi-yong-an-li
77 2
Python 学习之路 01基础入门---【Python安装,Python程序基本组成】
|
1月前
|
存储 安全 API
【Python 基础教程 21】Python3 文件操作全面指南:从入门到精通的综合教程
【Python 基础教程 21】Python3 文件操作全面指南:从入门到精通的综合教程
82 0
|
1天前
|
Python
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
|
1天前
|
存储 索引 Python
Python从入门到精通——1.3.1练习编写简单程序
Python从入门到精通——1.3.1练习编写简单程序
|
2天前
|
开发框架 前端开发 数据库
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
|
2天前
|
数据采集 数据可视化 数据处理
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
|
2天前
|
Java 数据库连接 数据处理
Python从入门到精通:3.1.2多线程与多进程编程
Python从入门到精通:3.1.2多线程与多进程编程
|
2天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
7天前
|
机器学习/深度学习 数据可视化 数据挖掘
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
19 1
|
7天前
|
人工智能 数据挖掘 程序员
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
35 0