Giới thiệu
Một số thập phân sẽ chấm dứt nếu nó có số chữ số thập phân hữu hạn. Ví dụ: 0,4 (2/5) đang chấm dứt vì nó có một chữ số thập phân.
Số thập phân hoàn toàn là định kỳ nếu nó có số chữ số thập phân vô hạn và không có chữ số thập phân trước khi lặp lại (phần thập phân lặp lại.) Ví dụ: 0.142857142857142 cách (1/7) hoàn toàn là định kỳ vì nó có phần lặp lại 142857, bắt đầu lặp lại ngay sau dấu thập phân.
Cuối cùng, một số thập phân là định kỳ nếu nó có số chữ số thập phân vô hạn và có số chữ số thập phân hữu hạn trước khi lặp lại (phần thập phân lặp lại.) Ví dụ: 0.166666666666666 (1/6) cuối cùng là định kỳ vì lặp lại 6 bắt đầu lặp lại sau 1.
Nhiệm vụ của bạn
Viết chương trình hoặc hàm, khi cho các số p và q (số nguyên, 0 <= p < q <= 100), sẽ xác định xem biểu diễn thập phân của p / q có chấm dứt, hoàn toàn định kỳ hoặc cuối cùng là định kỳ.
Bạn phải ra a
nếu nó Ngừng (tức là 0.1), b
nếu nó thuần túy định kỳ (tức là 0,333 ...), hoặc c
nếu đó là Cuối cùng kỳ (tức là 0,166 ...), nơi a
, b
và c
bất kỳ khác biệt, hằng xâu lựa chọn của bạn.
Các trường hợp thử nghiệm
0/1 => Terminating
0/2 => Terminating
1/2 => Terminating
0/3 => Terminating
1/3 => Purely Periodic
2/3 => Purely Periodic
0/4 => Terminating
1/4 => Terminating
2/4 => Terminating
3/4 => Terminating
0/5 => Terminating
1/5 => Terminating
2/5 => Terminating
3/5 => Terminating
4/5 => Terminating
0/6 => Terminating
1/6 => Eventually Periodic
2/6 => Purely Periodic
3/6 => Terminating
4/6 => Purely Periodic
5/6 => Eventually Periodic
0/7 => Terminating
1/7 => Purely Periodic
2/7 => Purely Periodic
3/7 => Purely Periodic
4/7 => Purely Periodic
5/7 => Purely Periodic
6/7 => Purely Periodic
0/8 => Terminating
1/8 => Terminating
2/8 => Terminating
3/8 => Terminating
4/8 => Terminating
5/8 => Terminating
6/8 => Terminating
7/8 => Terminating
0/9 => Terminating
1/9 => Purely Periodic
2/9 => Purely Periodic
3/9 => Purely Periodic
4/9 => Purely Periodic
5/9 => Purely Periodic
6/9 => Purely Periodic
7/9 => Purely Periodic
8/9 => Purely Periodic
0/10 => Terminating
1/10 => Terminating
2/10 => Terminating
3/10 => Terminating
4/10 => Terminating
5/10 => Terminating
6/10 => Terminating
7/10 => Terminating
8/10 => Terminating
9/10 => Terminating
0/11 => Terminating
1/11 => Purely Periodic
2/11 => Purely Periodic
3/11 => Purely Periodic
4/11 => Purely Periodic
5/11 => Purely Periodic
6/11 => Purely Periodic
7/11 => Purely Periodic
8/11 => Purely Periodic
9/11 => Purely Periodic
10/11 => Purely Periodic
0/12 => Terminating
1/12 => Eventually Periodic
2/12 => Eventually Periodic
3/12 => Terminating
4/12 => Purely Periodic
5/12 => Eventually Periodic
6/12 => Terminating
7/12 => Eventually Periodic
8/12 => Purely Periodic
9/12 => Terminating
10/12 => Eventually Periodic
11/12 => Eventually Periodic
0/13 => Terminating
1/13 => Purely Periodic
2/13 => Purely Periodic
3/13 => Purely Periodic
4/13 => Purely Periodic
5/13 => Purely Periodic
6/13 => Purely Periodic
7/13 => Purely Periodic
8/13 => Purely Periodic
9/13 => Purely Periodic
10/13 => Purely Periodic
11/13 => Purely Periodic
12/13 => Purely Periodic
0/14 => Terminating
1/14 => Eventually Periodic
2/14 => Purely Periodic
3/14 => Eventually Periodic
4/14 => Purely Periodic
5/14 => Eventually Periodic
6/14 => Purely Periodic
7/14 => Terminating
8/14 => Purely Periodic
9/14 => Eventually Periodic
10/14 => Purely Periodic
11/14 => Eventually Periodic
12/14 => Purely Periodic
13/14 => Eventually Periodic
0/15 => Terminating
1/15 => Eventually Periodic
2/15 => Eventually Periodic
3/15 => Terminating
4/15 => Eventually Periodic
5/15 => Purely Periodic
6/15 => Terminating
7/15 => Eventually Periodic
8/15 => Eventually Periodic
9/15 => Terminating
10/15 => Purely Periodic
11/15 => Eventually Periodic
12/15 => Terminating
13/15 => Eventually Periodic
14/15 => Eventually Periodic
Bạn có thể tìm thấy tất cả các trường hợp thử nghiệm ở đây .
Bạn được phép chọn 3 giá trị của riêng mình cho đầu ra, nhưng nó phải rõ ràng về giá trị của nó.
Hãy nhớ rằng, đây là mã golf , vì vậy mã có số byte nhỏ nhất sẽ thắng.
Gợi ý
Chấm dứt:
Hệ số nguyên tố của mẫu số thập phân kết thúc ở dạng đơn giản nhất chỉ bao gồm 2 giây và 5 giây.
Hoàn toàn định kỳ:
Hệ số nguyên tố của mẫu số thập phân hoàn toàn định kỳ ở dạng đơn giản nhất không bao gồm bất kỳ 2 giây hoặc 5 giây.
Cuối cùng định kỳ:
Hệ số nguyên tố của mẫu số thập phân định kỳ cuối cùng ở dạng đơn giản nhất bao gồm ít nhất một 2 hoặc 5, nhưng cũng bao gồm các số khác.
Bảng xếp hạng
Dưới đây là Stack Snippet để tạo cả bảng xếp hạng thông thường và tổng quan về người chiến thắng theo ngôn ngữ.
Để đảm bảo rằng câu trả lời của bạn hiển thị, vui lòng bắt đầu câu trả lời của bạn bằng một tiêu đề, sử dụng mẫu Markdown sau:
# Language Name, N bytes
nơi N
là kích thước của trình của bạn. Nếu bạn cải thiện điểm số của mình, bạn có thể giữ điểm số cũ trong tiêu đề, bằng cách đánh bại chúng thông qua. Ví dụ:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Nếu bạn muốn bao gồm nhiều số trong tiêu đề của mình (ví dụ: vì điểm của bạn là tổng của hai tệp hoặc bạn muốn liệt kê riêng các hình phạt cờ của thông dịch viên), hãy đảm bảo rằng điểm thực tế là số cuối cùng trong tiêu đề:
# Perl, 43 + 2 (-p flag) = 45 bytes
Bạn cũng có thể đặt tên ngôn ngữ thành một liên kết mà sau đó sẽ hiển thị trong đoạn trích bảng xếp hạng:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes