Farz0l1x

Untitled

Jan 3rd, 2024
616
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.09 KB | None | 0 0
  1. #Медленный способ
  2. file = open('3A.txt')
  3. A = list(map(int, file.readlines()))
  4. n = A[0]
  5. A = A[1:]
  6. count = 0
  7. for i in range(n):
  8.     for j in range(i + 1, n):
  9.         if (A[i] * A[j]) % 65 == 0:
  10.             count += 1
  11. print(count)
  12.  
  13. #Статический способ
  14. file = open('3B.txt')
  15. A = list(map(int, file.readlines()))
  16. n = A[0]
  17. A = A[1:]
  18. k5, k13, k65 = 0, 0, 0
  19. for i in range(n):
  20.     if A[i] % 65 == 0:
  21.         k65 += 1
  22.     elif A[i] % 13 == 0:
  23.         k13 +=  1
  24.     elif A[i] % 5 == 0:
  25.         k5 += 1
  26. k = n - k65
  27. print((k * k65) + (k5 * k13) + (k65 * (k65 - 1) // 2))
  28.  
  29. #Динамический способ
  30. file = open('3B.txt')
  31. A = list(map(int, file.readlines()))
  32. n = A[0]
  33. A = A[1:]
  34. count = 0
  35. k5, k13, k65 = 0, 0, 0
  36. for i in range(n):
  37.     if A[i] % 65 == 0:
  38.         count += i
  39.     elif A[i] % 13 == 0:
  40.         count += k5
  41.     elif A[i] % 5 == 0:
  42.         count += k13
  43.     else:
  44.         count += k65
  45.        
  46.     if A[i] % 5 == 0:
  47.         k5 += 1
  48.     if A[i] % 13 == 0:
  49.         k13 += 1
  50.     if A[i] % 65 == 0:
  51.         k65 += 1
  52. print(count)
Advertisement
Add Comment
Please, Sign In to add comment