English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Given a number, the task is to check if the entered number is a lucky number and display the result.
A lucky number refers to a number where all digits are different. If at least one digit is repeated, the number will not be considered a lucky number.
Input-: n = 1234 Output-: it is a lucky number Explanation-: As there is no repeating digit in a number n, so it is a lucky number Input-: n = 3434 Output-: it is not a lucky number Explanation-: In the given number n, 3 and 4 are repeating twice, so it is not a lucky number
The methods we use in the given program are as follows-
Check if the number n entered by the user is a lucky number
Traverse the entire number until a digit's size
Mark each visited digit and check if it has been found
Display whether the given number is a lucky number
Start Step1-> Declare function to check whether a given number is lucky or not bool check_lucky(int size) declare bool arr[10] Loop For int i=0 and i<10 and i++ Set arr[i] = false End Loop While(size > 0) declare int digit = size % 10 IF (arr[digit]) return false End set arr[digit] = true Set size = size/10 End return true Step 2-> In main() Declare int arr[] = {0,34,2345,1249,1232 calculate int size = sizeof(arr)/sizeof(arr[0]) Loop For int i=0 and i<size and i++ check_lucky(arr[i])? print is Lucky : print is not Lucky End Stop
#include<iostream> using namespace std; //If there is a number, return true. bool check_lucky(int size) { bool arr[10]; for (int i = 0; i <10; i++) arr[i] = false; while (size > 0) { int digit = size % 10; if (arr[digit]) return false; arr[digit] = true; size = size/10; return true; int main() { int arr[] = {0,34,2345,1249,1232}; int size = sizeof(arr);/sizeof(arr[0]); for (int i = 0; i < size;++) check_lucky(arr[i]) ? cout << arr[i] << " is Lucky \n" : cout << arr[i] << " is not Lucky \n"; return 0;
Output Result
19 is Lucky 34 is Lucky 2345 is Lucky 1249 is Lucky 1232 is not Lucky