输入一个100以内的正整数,将其分解质因数后输出
2013-09-26 16:19
996 查看
思路:
将一百以内的素数建成一个列表
输入数后向数组中查询
如果不在数组中,就从列表中最小的素数开始,找到能被该数整除得数
将得到的数进行步骤23,知道满足条件一
将一百以内的素数建成一个列表
输入数后向数组中查询
如果不在数组中,就从列表中最小的素数开始,找到能被该数整除得数
将得到的数进行步骤23,知道满足条件一
import math prime=[] factor=[] def is_Prime(n): for i in range(2,int(math.sqrt(n))+1): if(n%i==0): return False return True def get_factor(num,prime): if num in prime: print("本身就是一个质数"+str(num)) factor.append(int(num)) else: for i in prime: if(num%i==0): factor.append(i) num=num/i get_factor(num,prime) break for i in range(2,100): if is_Prime(i): prime.append(i) num_str = input("请输入要分解的数字: ") num=int(num_str) get_factor(num,prime) print(factor)
相关文章推荐
- 通过键盘输入100 以内正整数的加、减运算式,请编写一个程序输出运算结果字符串
- 机试题:过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。
- 通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。
- (华为机考题)通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。
- 华为:通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串
- 华为机试——通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串
- 华为机试通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串
- 通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。 输入字符串的格式为:“操作数1 运算符 操作数2”,“操作数”与“运算符”之间以一个空格隔开。 补充说明: 1、操作数为
- 华为:通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串
- 通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。
- 4.输入一个整数,如果该整数大于1000,则输出“big”,如果该整数介于100到1000之间(包含两个边界),则输出“middle”,如果上面两种情况都不满足,输出”small“
- 输入一个整数输出位数(整数限10位以内)
- 定义一个一维数组,其元素个数从键盘中输入,元素的值为[100,200]的随机整数。 (1)输出数组的每个数 (2)对数组的数进行升序排序,输出排序后的数组元素 (3)从键盘上输入一个整数,查找该整数是
- 输入一个整数,如果该整数大于1000,则输出“big”,如果该整数介于100到1000之间(包含两个边界),则输出“middle”,如果上面两种情况都不满足,输出”small“
- Problem Description 输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数。 Input 输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,不做处理。 Output 对于每组
- 输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数.输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,
- 输入一个100以内的整数,判断与9的关系
- 输入一个整数,如果该整数大于1000,则输出“big”,如果该整数介于100到1000之间(包含两个边界),则输出“middle”,如果上面两种情况都不满足,输出”small“
- 输入一个100以内的整数,判断是一位数的数、两位数的数、还是100
- 输入一个正整数n,返回一个最小正整数m(m至少是2位数),使得m的各位乘积等于n,例如输入36,输出49,输入100,输出455,对于某个n不存在这样的m,请返回-1。