Đừng nhầm lẫn với Tìm giai thừa!
Giới thiệu
Giai thừa của một số nguyên n
có thể được tính bằng
Điều này là tương đối dễ dàng và không có gì mới. Tuy nhiên, giai thừa có thể được mở rộng thành nhân tử kép , sao cho
cho các số chẵn và
cho các số lẻ. Nhưng chúng tôi không giới hạn ở hai giai thừa. Ví dụ:
hoặc
hoặc
n !!! = n \ lần (n-3) \ lần (n-6) \ lần (...) \ lần4 \ lần1
tùy thuộc vào giá trị khởi đầu.
Tóm lại:
trong đó
Hoặc, bằng tiếng Anh đơn giản: Trừ số đếm giai thừa từ số cơ sở nhiều lần và nhân tất cả các số nguyên dương.
Các thách thức
Viết hàm sẽ tính bất kỳ loại nhân tử lặp lại cho bất kỳ số nguyên không âm nào.
Đầu vào
Hoặc
- Một chuỗi chứa một số nguyên mười cơ sở không âm, theo sau là 1 hoặc nhiều dấu chấm than. Ví dụ
"6!"
hay"9!!"
hay"40!!!!!!!!!!!!!!!!!!!!"
.
hoặc là
- Các giá trị giống nhau được biểu thị bằng hai số nguyên: một giá trị cơ bản không âm và một giá trị dương biểu thị số giai thừa. Điều này có thể được thực hiện theo bất kỳ định dạng nào từ các quy tắc I / O mặc định.
Đầu ra
Kết quả tính toán nói trên.
Nhận xét thách thức
0!
bằng1
định nghĩa. Mã của bạn phải chiếm tài khoản này.- Số lượng giai thừa được giới hạn bởi ngoài phạm vi này, bạn có thể tự do xuất bất cứ thứ gì. Ngoài ra , đó là ngoại lệ duy nhất cho quy tắc này.
0!
Ví dụ
Input Output
3!!! 3
0! 1
6! 720
9!! 945
10!!!!!!!! 20
40!!!!!!!!!!!!!!!!!!!! 800
420!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 41697106428257280000000000000000
Hãy thử nó với một triển khai Python chưa được chỉnh sửa: Hãy thử trực tuyến!
Nhận xét chung
- Đây là môn đánh gôn , vì vậy câu trả lời sử dụng ít byte nhất trong mỗi ngôn ngữ sẽ thắng.
- Quy tắc chuẩn , quy tắc I / O và quy tắc kẽ hở được áp dụng.
- Vui lòng bao gồm một liên kết Dùng thử trực tuyến để chứng minh mã của bạn hoạt động.
- Hãy thúc đẩy câu trả lời của bạn với một lời giải thích về mã của bạn.
3!!!!!!!
không nên không xác định được nó nên chỉ mang lại câu trả lời 3
. Nó giống như 1!!=1
(không xác định). Ngoài ra đặc điểm kỹ thuật đầu vào của bạn nói rằng sẽ luôn có ít nhất một !
, vì vậy ví dụ đầu tiên 3
không phù hợp với đặc điểm kỹ thuật.
(3!)!
Thay vào đó, nó không phải là loại bỏ các điều khoản từ một giai thừa. Đó là một cái tên sai lệch; Tôi đã giả định rằng nó sẽ được áp dụng chức năng Factorial nhiều lần trong một chuỗi và phải đọc kỹ để xem nó thực sự là gì. May mắn là câu hỏi không giải thích rõ ràng. Một cái tên tốt hơn có thể là sải chân hoặc giai thừa bước hoặc một cái gì đó.
0!
nhưng nhận xét thách thức nói rằng số giai thừa sẽ nhỏ hơn hoặc bằng giá trị cơ sở.