Computer >> Máy Tính >  >> Lập trình >> Lập trình

Con số may mắn


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ụ -

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 tất cả) 1 3 5 7 9 11 13 15 17 19 21 23 25 (xóa tất cả Các số thứ 2) 1 3 7 9 13 15 19 21 25 (Tất cả các số thứ 3 bị xóa, bắt đầu từ số 5) 1 3 7 9 13 15 21 25 (Tất cả các số thứ 7 bị xóa bắt đầu từ số 19)

Đầ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ụ

 #include  using 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.