Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def sum_digits(x):
- num_to_str = str(x)
- num_of_digits = len(num_to_str)
- sum = 0
- while num_of_digits >= 1:
- temp = x % 10
- x /= 10
- x = int(x)
- num_of_digits -= 1
- sum += temp
- return sum
- def is_prime(i):
- status = False
- i = int(i)
- if i > 2:
- for j in range(2, i):
- if (i % j) == 0:
- status = False
- break
- else:
- status = True
- elif i == 2:
- status = True
- return status
- def harshad(x):
- sum = 0
- for i in range(0, x):
- temp = i
- num_to_str = str(i)
- num_of_digits = len(num_to_str)
- if is_prime(i) and i >= 10:
- i /= 10
- i = int(i)
- num_of_digits -= 1
- temp2 = i
- sum_of_digits = sum_digits(i)
- if temp2 % sum_of_digits == 0:
- temp2 /= sum_of_digits
- if is_prime(temp2):
- while num_of_digits >= 1 and sum_of_digits != 0 and i % sum_of_digits == 0:
- i /= 10
- i = int(i)
- num_of_digits -= 1
- if num_of_digits == 1:
- print(f'Added number: {temp}, is prime: {is_prime(temp)}')
- sum += temp
- else:
- sum_of_digits = sum_digits(i)
- else:
- continue
- return sum
- num = int(input("Enter number: "))
- print(f'Sum of numbers lesser than {num} is {harshad(num)}')
Advertisement
Add Comment
Please, Sign In to add comment