Proc 26. Описать функцию IsPower5(K ) логического типа, возвращающую TRUE, если целый параметр K (> 0) является степенью числа 5, и FALSE в противном случае. С ее помощью найти количество степеней числа 5 в наборе из 10 целых положительных чисел.

Решение на Python 3

import random
import math

def IsPower5(K):
x = int(math.log(K,5))
if K == 5**x:
return True
return False

s = 0
L = [5**random.randrange(1,10)+random.randrange(0,2) for i in range(0,10)]
for i in range(0,len(L)):
x = L[i]
print(x,end="; ")
s += int(IsPower5(x))

print("\nAmount of IsPower5:",s)

Вариант 2:

import random
import math

def IsPower5(K):
x = int(round(math.log(K,5)))
if K == 5**x:
return True
return False

def IsPower5a(K):
while K > 1:
K /= 5
if K == 1.0:
return True
return False

s = 0
s2 = 0
L = [5**random.randrange(1,10)+random.randrange(0,2) for i in range(0,10)]
for i in range(0,len(L)):
x = L[i]
print(x,end="; ")
s += int(IsPower5(x))
s2 += int(IsPower5a(x))

print("\nAmount of IsPower5:",s)
print("\nAmount of IsPower5:",s2)