Con số may mắn là một số số nguyên đặc biệt. Từ các số cơ bản, một số số đặc biệt bị loại bỏ theo vị trí của chúng. Thay vì giá trị của chúng, đối với vị trí của chúng, các con số bị loại bỏ. Những con số không bị xóa, chúng là những con số may mắn.
Việc xóa số tuân theo một số quy tắc. Lúc đầu, mọi số thứ hai sẽ bị xóa, sau đó, tất cả các số thứ 3 đều bị xóa, v.v.
Đây là một số ví dụ -
Đầu vào và Đầu ra
Đầu vào:Đặt một con số để kiểm tra xem nó có may mắn hay không. Cho số là 13 Kết quả:13 là một con số may mắn.
Thuật toán
isLuckyNumber (số)
Đầu vào - Một số.
Đầu ra - Kiểm tra xem con số có may mắn hay không.
Begin counter:=2 (Đây là dữ liệu tĩnh, không được khởi tạo lại trong lệnh gọi đệ quy) nếu counter> n, sau đó trả về 1 nếu n mod counter =0, sau đó trả về 0 n:=n - (n / counter) counter:=counter + 1 isLuckyNumber (n) End
Ví dụ
#includeusing namespace std; int counter =2; // được sử dụng trong recursionbool isLuckyNumber (int n) {if (counter> n) return 1; if (n% counter ==0) return 0; n - =n / bộ đếm; // n sẽ là vị trí tiếp theo của bộ đếm đệ quy ++; return isLuckyNumber (n);} int main () {int x =13; if (isLuckyNumber (x)) cout < Đầu ra
13 là một con số may mắn.