Thử thách:
Xuất 'số nguyên' của một trong sáu bảng số học sau dựa trên đầu vào:
- Ngoài ra ( +
);
- phép trừ ( -
);
- phép nhân ( *
);
- phép chia ( /
);
- lũy thừa ( ^
);
- hoạt động modulo ( %
).
Quy tắc:
- Tôi xác định những gì là 'nguyên-chữ số': Mỗi kết quả của toán hạng số học mà là chính xác một trong những điều sau đây:
0
,1
,2
,3
,4
,5
,6
,7
,8
,9
. Điều này có nghĩa là bạn loại trừ mọi kết quả từ10
hoặc cao hơn, mọi kết quả của-1
hoặc thấp hơn và mọi kết quả không nguyên. Làm thế nào để chúng ta tính toán kết quả số học: Bằng cách sử dụng chữ số trên cùng trước, sau đó sử dụng toán hạng với chữ số bên trái.Bạn được phép làm điều này ngược lại (tức lày/x
thay vìx/y
), miễn là bạn nhất quán cho tất cả sáu kết quả đầu ra! (Vì vậy, bạn không được phép sử dụngy-x
vàx/y
trong câu trả lời tương tự.) †- Chúng tôi sẽ không xuất bất cứ thứ gì để chia cho 0 trường hợp thử nghiệm (đối với các bảng thao tác chia và modulo)
- Chúng tôi sẽ không đầu ra bất cứ điều gì cho trường hợp cạnh
0^0
.
Đầu ra:
Vì vậy, xuất ra các mục sau (định dạng bảng có phần linh hoạt (xem bên dưới): vì vậy các dòng là tùy chọn và chủ yếu được thêm vào để dễ đọc các trường hợp kiểm tra):
Thêm vào:
+ | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 0 1 2 3 4 5 6 7 8 9
1 | 1 2 3 4 5 6 7 8 9
2 | 2 3 4 5 6 7 8 9
3 | 3 4 5 6 7 8 9
4 | 4 5 6 7 8 9
5 | 5 6 7 8 9
6 | 6 7 8 9
7 | 7 8 9
8 | 8 9
9 | 9
Phép trừ:
- | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 0 1 2 3 4 5 6 7 8 9
1 | 0 1 2 3 4 5 6 7 8
2 | 0 1 2 3 4 5 6 7
3 | 0 1 2 3 4 5 6
4 | 0 1 2 3 4 5
5 | 0 1 2 3 4
6 | 0 1 2 3
7 | 0 1 2
8 | 0 1
9 | 0
Phép nhân:
* | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 0 0 0 0 0 0 0 0 0 0
1 | 0 1 2 3 4 5 6 7 8 9
2 | 0 2 4 6 8
3 | 0 3 6 9
4 | 0 4 8
5 | 0 5
6 | 0 6
7 | 0 7
8 | 0 8
9 | 0 9
Bộ phận:
/ | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 |
1 | 0 1 2 3 4 5 6 7 8 9
2 | 0 1 2 3 4
3 | 0 1 2 3
4 | 0 1 2
5 | 0 1
6 | 0 1
7 | 0 1
8 | 0 1
9 | 0 1
Số mũ:
^ | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 1 1 1 1 1 1 1 1 1
1 | 0 1 2 3 4 5 6 7 8 9
2 | 0 1 4 9
3 | 0 1 8
4 | 0 1
5 | 0 1
6 | 0 1
7 | 0 1
8 | 0 1
9 | 0 1
Modulo:
% | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 |
1 | 0 0 0 0 0 0 0 0 0 0
2 | 0 1 0 1 0 1 0 1 0 1
3 | 0 1 2 0 1 2 0 1 2 0
4 | 0 1 2 3 0 1 2 3 0 1
5 | 0 1 2 3 4 0 1 2 3 4
6 | 0 1 2 3 4 5 0 1 2 3
7 | 0 1 2 3 4 5 6 0 1 2
8 | 0 1 2 3 4 5 6 7 0 1
9 | 0 1 2 3 4 5 6 7 8 0
Quy tắc thử thách:
- Trailing dòng mới và dấu cách là tùy chọn
- Các đường ngang và dọc trong các trường hợp thử nghiệm là tùy chọn. Tôi chỉ thêm chúng để dễ đọc hơn. †
- Khoảng cách giữa mỗi kết quả KHÔNG phải là tùy chọn.
- Biểu tượng cho số học có thể khác nhau, miễn là nó rõ ràng là cái nào. Tức là
×
hoặc·
thay vì*
nhân;÷
thay vì/
phân chia; vv †
Và chừng đó là một đơn nhân vật, vì vậy xin lỗi của Python**
. - Các định dạng đầu vào là linh hoạt. Bạn có thể chọn một chỉ mục từ 0-5 hoặc 1-6 cho sáu bảng tương ứng; bạn có thể nhập ký hiệu toán hạng; v.v. (Không giống như những gì bạn hiển thị trong kết quả, bạn được phép nhập các chuỗi hoàn chỉnh hoặc
**
trong trường hợp của Python.)
Chỉ cần đảm bảo nêu rõ định dạng đầu vào mà bạn sử dụng trong câu trả lời của mình!
Quy tắc chung:
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng.
Đừng để ngôn ngữ mã-golf ngăn cản bạn đăng câu trả lời với các ngôn ngữ không mã hóa. Cố gắng đưa ra một câu trả lời càng ngắn càng tốt cho ngôn ngữ lập trình 'bất kỳ'. - Các quy tắc chuẩn áp dụng cho câu trả lời của bạn, vì vậy bạn được phép sử dụng STDIN / STDOUT, các hàm / phương thức với các tham số thích hợp, các chương trình đầy đủ. Cuộc gọi của bạn.
- Lỗ hổng mặc định bị cấm.
- Nếu có thể, vui lòng thêm một liên kết với một bài kiểm tra cho mã của bạn.
- Ngoài ra, xin vui lòng thêm một lời giải thích nếu cần thiết.
Ví dụ về đầu ra hợp lệ không có đường ngang và dọc, ÷
như ký hiệu và sử dụng y/x
thay vì x/y
:
÷ 0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 0 0 0 0 0
1 1
2 2 1
3 3 1
4 4 2 1
5 5 1
6 6 3 2 1
7 7 1
8 8 4 2 1
9 9 3 1
1
, ngôn ngữ khác 0
, một số ngôn ngữ khác cho 0^0
hoặc chia / mod 0, nhưng bạn sẽ phải làm việc xung quanh đó. Đối với câu hỏi thứ hai của bạn: Có chắc chắn, miễn là các chữ số vẫn ở trong cùng một cột / hàng, bạn có thể sử dụng nhiều khoảng trắng như bạn muốn.
y-x
, y/x
, y^x
và y%x
thay vì x-y
, x/y
, x^y
và x%y
? Hmm, tôi đoán rằng có thể tốt. Tôi sẽ chỉnh sửa nó trong câu trả lời; miễn là bạn sẽ nhất quán cho tất cả sáu người trong số họ (vì vậy không y-x
và x/y
trong cùng một câu trả lời).