Python语言实现第一个程序,简单的递归算法——整数因子分解问题
2019-05-16 17:41
423 查看
处女博客!
最近正在自学Python,刚好这学期也在上计算机算法设计与分析,老师布置了一道整数因子分解问题,题目为:对给定的大于1的正整数,分解为不同的分解式。如:12可分为:12乘1、6乘2、4乘3、3乘4等。
废话少说,先贴代码!
f = open('input.txt','r')#打开input.txt文件,给与读取权限,如果没有这个文件,会在源码保存的当前文件夹创建 s=int(f.read())#将读取的值赋转为整数型再传递给s f.close()#切记每次打开文件后都要记得关闭 mylist = [] def f(n): c=123 #c的值是无意义的,它的作用是将123传递到mylist里 if n==1: mylist.append(c) #append()方法,将所得的值添加到列表里 for i in range(2, n+1): #切记range的集合是左闭右开区间,所以n要+1 if n % i == 0: f(n//i) f(s)#获取input文本的值,传递到函数f(n) print(len(mylist)) #输出列表的长度 k = open('output.txt','w') #类似上面的input文件 k.write(str(len(mylist))) #传递到txt文件的字符要强转为string型 k.close()
我的主要思路就是每当循环计算出符合条件的式子,就将变量c的值赋值到mylist里,然后计算mylist的长度,就可以得出整数因子分解的个数。算法很简单,也很青涩,如果你有什么好的意见,欢迎评论呀。
相关文章推荐
- 使用中语言实现整数的因子分解算法
- 递归算法编程整数因子分解问题的递归算法
- C程序实现整数的素数和分解问题
- java语言实现:数论经典问题 除法表达 ,无平方因子数 ,直线上的点,同余与模算术 大整数取模 幂取模,模线性方程
- Python 实现简单的C/S在线更新程序
- python实现简单socket程序在两台电脑之间传输消息的方法
- Thrift 简单实现C#通讯服务程序 (跨语言 MicroServices)
- 用C语言和汇编语言实现将1个整数分解成几个素数的乘积
- Mac配置Python开发环境并实现简单的字符串和整数拼接
- 整数因子分解问题
- 不带有界面的简单的计算器小程序(Java语言实现)
- 整数因子分解问题
- Python实现简单的http服务器程序
- c 语言实现的简单屏幕烟花程序
- 《Python入门》第一个Python Web程序——简单的Web服务器
- 浅谈插入排序算法在Python程序中的实现及简单改进
- Appium 新手贴:Windows 平台上的使用 Python 语言实现 appium 自动化程序 for Android (完整版)
- 整数因子分解问题
- 整数因子分解:计算一个整数所有的分解式(递归实现)
- C语言整数类型及printf格式化输出问题总结复习及进制转换的简单实现