幸運數字
幸運數字是一些特殊整數。從基礎數字中,一些特殊數字因其位置而被消除。數字不是因其值,而是因其位置而被消除。未被刪除的數字即為幸運數字。
數字的刪除遵循一些規則。首先,刪除所有第二個數字,然後刪除所有第三個數字,以此類推。
這裡有一些示例 −
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 (1 – 25 all) 1 3 5 7 9 11 13 15 17 19 21 23 25 (deleting all 2nd numbers) 1 3 7 9 13 15 19 21 25 (All 3rd numbers are deleted, starting from 5) 1 3 7 9 13 15 21 25 (All 7th numbers are deleted starting from 19)
輸入和輸出
輸入:輸入一個數字以檢查其是否幸運。設數字為 13 輸出:13 是幸運數字。
演算法
isLuckyNumber(number)
輸入 − 一個數字。
輸出 − 檢查數字是否幸運。
Begin counter := 2 (It is static data, not be initialized again in recursion call) if counter > n, then return 1 if n mod counter = 0, then return 0 n := n – (n / counter) counter := counter + 1 isLuckyNumber(n) End
示例
#include <iostream>
using namespace std;
int counter = 2; //used during recursion
bool isLuckyNumber(int n) {
if(counter > n)
return 1;
if(n%counter == 0)
return 0;
n -= n/counter; //n will be next position for recursion
counter++;
return isLuckyNumber(n);
}
int main() {
int x = 13;
if(isLuckyNumber(x))
cout << x<<" is a lucky number.";
else
cout << x<<" is not a lucky number.";
}輸出
13 is a lucky number.
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP