import os
import sys
# 因素+背包(求因子)+遍历
# 不到50毫秒!!!!!!!!!!
# 请在此输入您的代码
n=2021041820210418
l=[] # !!!!用于存因数不是因子例如:10=2*5
i=2
x=n
while i<pow(x+1,0.5):
if x%i==0:
l.append(i)
x=x//i
else:
i+=1
l.append(x)
s=set() # !!!!用于存因子 如10=1*2*5*10
s.add(1)
for j in l:
p=set()
for k in s:
p.add(j*k)
for k in p:
s.add(k)
count=0
for k1 in s: # 遍历两层求解
for k2 in s:
if n%(k1*k2)==0:
count+=1
print(count)
"""
ans = 0
n = 2021041820210418
lst = []
for i in range(1,int(n**0.5)+1):
if (n % i == 0):
lst.append(i)
if n / i != i:
lst.append(n/i)
for i in lst:
for j in lst:
for k in lst:
if (i*j*k == n):
ans += 1
print(ans)
"""
print(2430)
1、Python pow() 函数
描述
pow() 方法返回 xy(x 的 y 次方) 的值。
语法
以下是 math 模块 pow() 方法的语法:
import math math.pow( x, y )
内置的 pow() 方法
pow(x, y[, z])
函数是计算 x 的 y 次方,如果 z 在存在,则再对结果进行取模,其结果等效于 pow(x,y) %z。
注意:pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float。
参数
- x -- 数值表达式。
- y -- 数值表达式。
- z -- 数值表达式。
返回值
返回 xy(x的y次方) 的值。
2、python运算符
3、因子与因数:
4、Python Set add()方法
描述
add() 方法用于给集合添加元素,如果添加的元素在集合中已存在,则不执行任何操作。
语法
add()方法语法:
set.add(elmnt)
参数
- elmnt -- 必需,要添加的元素。
返回值
无。
# 请在此输入您的代码
n = 2021041820210418
l = []
i = 2
x = n
while i < pow(x+1,0.5):
if x % i == 0:
l.append(i)
x = x // i
else:
i += 1
l.append(x)
s = set()
s.add(1)
for j in l:
p = set()
for k in s:
p.add(k) #error
for k in p:
s.add(k)
count = 0
for k1 in s:
for k2 in s:
if n % (k1 * k2) == 0:
count += 1
print (count)
Python split()方法
描述
Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
语法
split() 方法语法:
str.split(str="", num=string.count(str)).
参数
- str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
- num -- 分割次数。默认为 -1, 即分隔所有。
返回值
返回分割后的字符串列表。
import os
import sys
# 请在此输入您的代码
s = input()
k = s.split(' ')
a = int(k[0])
b = int(k[1])
print(a + b)