- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Swift Program to find the given number is strong or not
A strong number is a special number in which the sum of the factorial of its digit is equal to the number itself. For example −
Number = 345
345! = 3! + 4! + 5! = 6 + 24 + 120 = 150
Here 345 is not a strong number because the sum of the factorial of its digit is not equal to the number itself.
Number = 145
145! = 1! + 4! + 5! = 1 + 24 + 120 = 145
Here 145 is a strong number because the sum of the factorial of its digit is equal to the number itself.
In this article, we will learn how to write a swift program to find the given number is strong or not.
Algorithm
Step 1 − Create a function.
Step 2 − Create a copy of the original number and initialize sum = 0.
Step 3 − Run while to find the last digit of the given number.
Step 4 − Now find the factorial of all the individual digits of the given number.
Step 5 − Add the factorial of the digits and store the result in the sum variable.
Step 6 − Compare the sum and the original number. Return true if the sum and original number are equal. Otherwise, return false.
Step 7 − Create a test variable to store the number and pass it to the function.
Step 8 − Print the output.
Example
Following the Swift program to find whether the given number is strong or not.
import Foundation import Glibc // Function to check if te given number is strong or not func CheckStrongNumber(num: Int) -> Bool { var originalNum = num var sum = 0 // Finding the sum of the factorial // of the digits of the given number while originalNum > 0 { // Calculating the factorial of the digit let lDigit = originalNum % 10 var factorial = 1 for x in 1...lDigit { factorial *= x } // Calculating the sum of the factorial // of the digits of the given number sum += factorial originalNum /= 10 } // Return true if the sum and the number is equal // Otherwise return false return sum == num } // Test case 1 let myInput = 345 if CheckStrongNumber(num: myInput) { print("YES! \(myInput) is a strong number.") } else { print("NO! \(myInput) is not a strong number.") } // Test case 2 let myInput2 = 145 if CheckStrongNumber(num: myInput2) { print("YES! \(myInput2) is a strong number.") } else { print("NO! \(myInput2) is not a strong number.") }
Output
NO! 345 is not a strong number. YES! 145 is a strong number.
Conclusion
Here in the above code, we have two numbers that are 345 and 145. Now we create a function to check if the given numbers are strong numbers or not. In this function, first, we first make a copy of the original number and initialize the sum to 0. Now we run a while loop to repeatedly extract the last of the number and then perform the factorial of that digit and add the factorial result to the sum. Then the function checks if the given number is equal to the sum of the factorial of the digits. If yes then the function returns true. Otherwise, return false.
So this is how we can check if the given number is a strong number or not.