dotcpp0643233


私信TA

用户名:dotcpp0643233

访问量:446

签 名:

等  级
排  名 19971
经  验 685
参赛次数 0
文章发表 12
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:其实思路还是比较简单明确的,主要在于减少循环次数,减少运行时间

参考代码:

N=int(input())
for i in range(6,N+1):  #从6开始,减少循环次数
    a=1
    lis=[1]
    c=int(pow(i,0.5))+1
    for j in range(2,c):   
        if i%j==0:
            #a=a+j
            lis.append(j)
            lis.append(int(i/j))
            a=a+j+int(i/j)
    if a==i:
        lis.sort()
        print(a,'its factors are',end=' ')
        for h in lis:
            print(h,end=' ')
        print()

求其因数,理论上只要求得该数的二分之一次方处即可

 

0.0分

0 人评分

  评论区

  • «
  • »