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

برنامج C++ يتحقق مما إذا كان الرقم سعيدًا (جميع الأرقام مختلفة)

给定一个数字,任务是检查输入的数字是否为幸运数字并显示结果。

什么是幸运数字

幸运数字是指每个数字都不相同的数字,如果至少重复一位,则该数字将不被视为幸运数字。

مثال

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

我们在给定程序中使用的方法如下-

  • 从用户输入数字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
   انتهاء
   Loop While(size > 0)
      declare int digit = size % 10
      IF (arr[digit])
         return false
      انتهاء
      set arr[digit] = true
      Set size = size/10
   انتهاء
   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
   انتهاء
توقف

مثال

#include<iostream>
using namespace std;
// إذا كان هناك رقم، فعدد الحظ هو صحيح.
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 
": cout << arr[i] << "  is not Lucky 
";
    return 0;
{}

نتيجة الخروج

19 محظوظ
34 محظوظ
2345 محظوظ
1249 محظوظ
1232 ليس محظوظاً