A|B

题意:

给出一个整数n(1<=n<=10100),求Σd(d满足d可以整除n),同时保证不存在x^2有x^2可以整除n。

另外,n的质因子满足小于等于1000。

题解:

这题是我第一道用python做的题...毕竟大数C写起来还是挺麻烦的。

根据唯一分解定理我们知道n=p1^a1*p2^a2*....*pn^an,再来看条件,我们知道这里的p1...pn都是小于等于1000的。

另外,由不存在x^2可以整除n可知:a1=a2=...=an=1。

倘若at>1,那么一定有一个x^2是n的因子。毕竟n是由这些数给乘起来的。

最后我们统计答案时,计算(p1+1)*(p2+1)*....*(pn+1)就行了,可以十分方便地计算出所有的情况。

代码如下:

prim=[]
vis=[]
for i in range(1000):vis.append(0)
for i in range(2,1000):
if(not vis[i]):
prim.append(i)
for j in range(i*i,1000,i):
vis[j]=1;
t=int(input())
while(t):
t-=1
need=[]
sum=1
n=int(input())
l = len(prim)
for i in range(l):
if(n%prim[i]==0):
need.append(prim[i])
l=len(need)
for i in range(l):
sum*=(need[i]+1)
print(sum)

最新文章

  1. 【JS】字符串操作
  2. Tensorflow word2vec编译运行
  3. pip install tushare
  4. C#操作access数据库
  5. 提高Axure设计效率的10条建议 (转)
  6. 一、HTML和CSS基础--HTML+CSS基础课程--第4部分
  7. vi编辑器基本用法介绍
  8. jQuery选择器总结 转
  9. 敏捷冲刺每日报告四(Java-Team)
  10. Tomcat不需要输入项目名便可访问项目(直接用域名或者ip)
  11. 自学Linux Shell16.2-函数中使用变量
  12. PHP实现大转盘抽奖算法
  13. C#编程(三十八)----------运算符
  14. 【elasticsearch】关于elasticSearch的基础概念了解【转载】
  15. django学习2 视图和模板
  16. windows下启动某程序提示缺失**.dll文件的处理方法
  17. 服务注册发现Eureka之一:Spring Cloud Eureka的服务注册与发现
  18. #region 常量和静态变量静态类readonly
  19. 【谷歌浏览器】在任意页面运行JS
  20. android菜鸟学习笔记19----Android数据存储(三)XML文件的解析及序列化

热门文章

  1. Python学习之property
  2. CAS解扰小结
  3. Python3爬虫(五)解析库的使用之XPath
  4. Python自动化运维——文件内容差异对比
  5. POJ-2421-Constructing Roads(最小生成树 普利姆)
  6. TopCoder SRM 489 Div1 Lev3:AppleTree
  7. shell重温---基础篇(参数传递&amp;echo命令)
  8. CSS3实现3D球体旋转动画
  9. 响应式js设置
  10. 使用apache的ab压力测试时失败请求原因