Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình C ++ để kiểm tra xem một số nhất định có phải là Lucky hay không (tất cả các chữ số đều khác nhau)

Được đưa ra với một số và nhiệm vụ là kiểm tra xem số đầu vào có phải là số may mắn hay không và hiển thị kết quả.

Con số may mắn là gì

Số may mắn là số mà mỗi chữ số đều khác nhau và nếu có ít nhất một chữ số lặp lại với số đó sẽ không được coi là số may mắn.

Ví dụ

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

Phương pháp tiếp cận chúng tôi đang sử dụng trong chương trình nhất định như sau -

  • Nhập số n từ người dùng để kiểm tra xem đó có phải là số may mắn hay không
  • Duyệt toàn bộ chữ số cho đến hết cỡ chữ số
  • Đánh dấu chữ số được truy cập vào mỗi lần truy cập và kiểm tra xem nó đã được tìm thấy hay chưa
  • Hiển thị xem số đã cho có phải là số may mắn hay không

THUẬT TOÁN

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

Ví dụ

#include<iostream>
using namespace std;
//return true if a number if lucky.
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; i++)
        check_lucky(arr[i])? cout << arr[i] << " is Lucky \n": cout << arr[i] << " is not Lucky \n";
    return 0;
}

Đầu ra

19 is Lucky
34 is Lucky
2345 is Lucky
1249 is Lucky
1232 is not Lucky