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
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;
//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;
}輸出
19 is Lucky 34 is Lucky 2345 is Lucky 1249 is Lucky 1232 is not Lucky
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP