Python - Number Based Problem | Hackerrank

Author: neptune | 17th-Aug-2023

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

  1. 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.




👉 Read More
The Blunder | Hackerrank
5. Solution of Hacker Rank Weather Observation Station 8.
7.Solution of Hacker Rank The Report
Identifying the Odd One Out in a Series of Strings | Hackerrank
4. Solution of Hacker Rank Weather Observation Station 6.
3. Solution of Hacker Rank Weather Observation Station 4.
The PADS | Hackerrank
6. Solution of Hacker Rank Employee Salaries.
1. Basic SQL Select Query of Hacker Rank.
Generate Fibonacci Sequence - JavaScript | Hackerank
Team Formation Hackerrank | Julia
Modified 0-1 knapsack problem | Frsco Play Hackerrank
2. Solution of Hacker Rank Weather Observation Station 3.
Weather Observation Station 18 | Hackerrank
Solving the Ice Cream Parlor Problem | Hackerrank
AngularJS - Know Tech Frameworks | Fresco Play
PySpark Milestone Black Friday Sales Data | Fresco Play Hackerrank
Backspace String Compare using R | Fresco Play
Top Earners | HackerRank
Git - Recovering Discarded Changes
Explore more Blogs...