Project Euler Problem#29
#python program to find the no. of distinct terms are in the a power b sequence
import unittest
def distinct_power(num):
if type(num)!=int or num<2:
return None
list1=[]
for a in range(2,num+1):
for b in range(2,num+1):
if a**b not in list1:
list1.append(a**b)
return len(list1)
print(distinct_power(100))
class TestCases(unittest.TestCase):
def test_distinct_power(self):
self.assertEqual(distinct_power(-5),None)
self.assertEqual(distinct_power(5),15)
self.assertEqual(distinct_power("5"),None)
if __name__ == "__main__":
unittest.main()