❶ python怎么 用 for 循环求10的因数
❷ python,输入一个数输出这个数的素数因子,横线里应该写什么
第一空填k+1
for j in range(2,k+1)
第二空填i
for i in range(2,num);
❸ python将一个正整数分解质因数.
nnotin[1]就是n不等于1
print'{}*'.format(index)是在最后将输入的n打印成质因数,就是变成1*2*5这种样式
❹ 使用python将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。应该要怎么做
对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
程序源代码:
实例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
def receNum(n):
print '{} = '.format(n),
if not isinstance(n, int) or n <= 0 :
print '请输入一个正确的数字 !'
exit(0)
elif n in [1] :
print '{}'.format(n)
while n not in [1] : # 循环保证递归
for index in xrange(2, n + 1) :
if n % index == 0:
n /= index # n 等于 n/index
if n == 1:
print index
else : # index 一定是素数
print '{} *'.format(index),
break
receNum(90)
receNum(100)
以上实例输出结果为:
90 = 2 * 3 * 3 * 5100 = 2 * 2 * 5 * 5
❺ python定义求最大公因子的函数,随机生成二位数,输出它们的最大公因子
这个其实很简单,思路是通过列表推导式生成三个2位数的随机数,再通过max内建函数取最大数
上代码了
max( [random.randint(10, 99) for i in range(3)])
❻ python从键盘输入一个整数值n,编程求它的所有因子之和,规定n不大于1000
n=int(input("pleaseinputaintegern:"))
result=0
foriinrange(1,n):
ifn%i==0:result+=i
print("thefactorofnsumis:%d"%result)
❼ Python编写函数.求出一个数除了1和自身以外的因子。
deffun(n:int):
L=[]
foriinrange(2,n//2+1):
ifnotn%i:
L.append(i)
returnL
print(fun(256))
❽ python输入一个正整数,求该数所有的因数
# 2021-05-17 Luke
while True:
num = input("请输入一个正整数:")
i = 1
num_count = []
while i <= int(num):
if int(num) % i == 0:
num_count.append(i)
i += 1
print(num + "的公因数有:")
print(*num_count)
❾ 用Python编写程序,从键盘输入一个整数并判断该数的类别:其因数之和等于数字本身的数称为完全数
import sys
theNum = input('请输入一个数:')
try:
theNum = int(theNum)
except ValueError:
print("请输入一个整数!")
sys.exit()
# 因子
divisor = 1
# 因子的和
divisors = 0
# 求因子的和
while divisor < theNum:
if theNum % divisor == 0:
divisors += divisor
divisor += 1
if divisors == theNum:
print("{} 是完全数!\n".format(theNum))
else:
if divisors > theNum:
print("{0} 是丰沛数!\n".format(theNum))
else:
print("{0} 是不足数!\n".format(theNum))