Problem statement:
Create the test() function, which takes the integer "n" as input and prints the following outputs:
1. Sort a number in descending order
2. Determine whether the number in descending order is a prime or not. If the number is a prime, then print "Sorted Number is a prime number," otherwise, print "Sorted Number is not a prime number."
3. Determine all of the factors of the descending order number.
4. Finally, sort the given number in ascending order.
Input Format For Custom Testing
Input is the integer 'n'
Sample Case 0:
Sample Input For Custom Testing
78343
Sample Output:
87433
Sorted Number is a prime number
1
87433
33478
Explanation:
1. Descending order of the given number 78343 is 87433
2. The descending order number is a prime number. So, have to print "Sorted Number is a prime number"
3. The factors of 87433 are 1 and 87433
4. Ascending order of given number 78343 is 33478
Sample Case 1:
Sample Input For Custom Testing
11261
Sample Output:
62111
Sorted Number is not a prime number
1
7
19
133
467
3269
8873
62111
11126
Explanation:
1. Descending order of the given number 11261 is 62111
2. The descending order number is not a prime number. So, have to print "Sorted Number is not a prime number"
3. The factors of 62111 are 1,7,19,133,467,3269,8873 and 62111
4. Ascending order of given number 11261 is 11126
Complete solution:
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
def test(n):
#write yout code here
# Convert the number to a string, sort it in descending order, and convert it back
sorted_descending = int(''.join(sorted(str(n), reverse=True)))
print(sorted_descending)
if is_prime(sorted_descending):
print("Sorted Number is a prime number")
else:
print("Sorted Number is not a prime number")
factors = [i for i in range(1, sorted_descending + 1) if sorted_descending % i == 0]
for fact in factors:
print(fact)
# Convert the number to a string, sort it in ascending order, and convert it back
sorted_ascending = int(''.join(sorted(str(n))))
return sorted_ascending
if __name__ == '__main__':
n = input()
print(test(n))
Execution results:
Sample Case 0:
Sample Case 1:
Conclusion
In conclusion, the 'test()' function efficiently addresses the problem by sorting the input number first, assessing its primality, listing factors, and ultimately presenting the ascending order. It offers a comprehensive analysis of the number, showcasing its descending and ascending arrangements along with its primality and factorization properties.