Bạn nên viết chương trình hoặc hàm lấy số nguyên không âm Nlàm đầu vào và đầu ra hoặc trả về hai số nguyên (âm, không hoặc dương) Xvà Y.
Các số nguyên có nghĩa là theo nghĩa toán học vì có vô số trong số chúng.
Các chức năng thực hiện phải được tính toán . Điều này có nghĩa là với mỗi Nnó phải xuất ra một X Ycặp khác nhau và mỗi X Ycặp nên được xuất ra cho một số đầu vào, Ntức là tất cả các cặp sau đây sẽ được xuất ra cho một số N:
...
┌─────┬─────┬────┬────┬────┐
│-2 -2│-2 -1│-2 0│-2 1│-2 2│
├─────┼─────┼────┼────┼────┤
│-1 -2│-1 -1│-1 0│-1 1│-1 2│
├─────┼─────┼────┼────┼────┤
... │0 -2 │0 -1 │0 0 │0 1 │0 2 │ ...
├─────┼─────┼────┼────┼────┤
│1 -2 │1 -1 │1 0 │1 1 │1 2 │
├─────┼─────┼────┼────┼────┤
│2 -2 │2 -1 │2 0 │2 1 │2 2 │
└─────┴─────┴────┴────┴────┘
...
Lưu ý rằng U Vvà V Ulà các cặp khác nhau nếu U!=V.
Chi tiết
- Nếu ngôn ngữ của bạn không hỗ trợ các số nguyên lớn tùy ý thì điều đó tốt nhưng thuật toán của bạn sẽ hoạt động với kiểu dữ liệu số nguyên lớn tùy ý. Mã của bạn vẫn nên hỗ trợ các giá trị đầu vào ít nhất
2^31-1. - Nếu bạn chọn in hoặc trả lại đầu ra dưới dạng chuỗi, không có dấu hiệu
0hoặc+dấu hiệu hàng đầu nào được phép. Nếu không, đại diện số nguyên tiêu chuẩn của ngôn ngữ của bạn là tốt.
Thí dụ
Nếu nhiệm vụ là tạo một hàm tính toán lấy một số nguyên không âm Nvà xuất ra một số nguyên thì Xmột giải pháp có thể là hàm
if (input mod 2 == 0) return N/2 else return -(N+1)/2,
thực hiện trong một số ngôn ngữ. Hàm này trả về X = 0 -1 1 -2 2...cho N = 0 1 2 3 4....

10=>11 12, 9=>10 11điều này không hợp lệ vì 11 được lặp lại?