th0m45s5helby

ctrl-hack

Apr 4th, 2021
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.11 KB | None | 0 0
  1. def isPrime(n):
  2.     #print("isprime")
  3.     if n<=1:
  4.         return False
  5.     for i in range(2, (n//2)+1):
  6.         if n%i==0:
  7.             return False
  8.     return True
  9.    
  10. def dbyi(q):
  11.     #print("dbyi")
  12.     if q==1:return 0
  13.     if q==2:return 1
  14.     elif q%2!=0:
  15.         if isPrime(q):return 1
  16.     else:
  17.         for j in range(2,q):
  18.             if q%j==0:
  19.                 #print(q/j,j,"in dbyi")
  20.                 return ((q//j)*dbyi(j))+(j*dbyi(q//j))
  21. def divisors(p):
  22.     #print("divisors")
  23.     print(p)
  24.     if p!=2 and p%2!=0:
  25.         if isPrime(p):return 1
  26.     sum=dbyi(p)
  27.     for i in range(2,(p//2) +1):
  28.         if p%i==0:
  29.             #print(sum,"in divisors")
  30.             sum+=dbyi(i)
  31.            
  32.     print(sum,"in divisors")        
  33.     return sum        
  34.        
  35. def strange_sum(L,R):
  36.     #print("strange sum")
  37.     out=0
  38.     for k in range(L,R+1):
  39.         out+=divisors(k)
  40.         #print(out,"in strange sum")
  41.     return out
  42.    
  43.  
  44. for _ in range(int(input())):
  45.     inp=list(map(int,input().split()))
  46.     L=inp[0]
  47.     R=inp[1]
  48.     #print(L,R)
  49.     out=strange_sum(L,R)
  50.     print(out)
Advertisement
Add Comment
Please, Sign In to add comment