English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
给定一个数字,任务是检查输入的数字是否为幸运数字并显示结果。
幸运数字是指每个数字都不相同的数字,如果至少重复一位,则该数字将不被视为幸运数字。
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++ установить arr[i] = false Конец Цикл While(size > 0) declare int digit = size % 10 IF (arr[digit]) return false Конец установить arr[digit] = true установить size = size / 10 Конец return true Шаг 2-> В main() Declare 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])? выводить is Lucky : выводить is not Lucky Конец Стоп
#include<iostream> using namespace std; // Если есть цифра, то возвращается 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; i++) check_lucky(arr[i]) ? cout << arr[i] << " \n" : cout << arr[i] << " \n"; return 0; }
Результат вывода
19 счастливый 34 счастливый 2345 счастливый 1249 счастливый 1232 не счастливый