English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C ++Program checks if the given number is very lucky (all digits are different)

Given a number, the task is to check if the entered number is a lucky number and display the result.

What is a lucky number

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.

Example

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

Algorithm

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

Example

#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