Thử thách
Cho một số nguyên dương N
, xuất tổng của các N
đối ứng đầu tiên dưới dạng phân số chính xác, được biểu diễn dưới dạng một cặp số nguyên theo thứ tự nhất quán đại diện cho tử số và mẫu số.
Quy tắc
Đầu ra phải chính xác.
Đầu ra phải là một cặp số nguyên theo thứ tự nhất quán đại diện cho tử số và mẫu số.
Sử dụng các kiểu số không nguyên (tích hợp hoặc thư viện) đều bị cấm.
- Làm rõ / ngoại lệ: các kiểu số không nguyên vẫn ổn nếu và chỉ khi tất cả các giá trị được sử dụng, tính toán và trả về là số nguyên (nghĩa là ngôn ngữ của bạn sử dụng số hữu tỷ theo mặc định, nhưng bạn chỉ sử dụng số học số nguyên trong câu trả lời của mình)
Đầu ra nên được giảm càng tốt. (
3/2
không sao,6/4
phải không)Sơ hở tiêu chuẩn bị cấm.
Đệ trình nên hoạt động cho đầu vào ít nhất lên đến 20, hoặc meta này , tùy theo mức nào cao hơn.
Các trường hợp thử nghiệm
1: 1/1
2: 3/2 (1/1 + 1/2)
3: 11/6 (1/1 + 1/2 + 1/3)
4: 25/12 etc.
5: 137/60
6: 49/20
20: 55835135/15519504
56: 252476961434436524654789/54749786241679275146400
226: 31741146384418617995319820836410246588253008380307063166243468230254437801429301078323028997161/5290225078451893176693594241665890914638817631063334447389979640757204083936351078274058192000
Tạo trường hợp thử nghiệm (Python 3)
import fractions
def f(x):
return sum(fractions.Fraction(1,i) for i in range(1,x+1))
Tương tự với thử thách này và thử thách này .
Các tử số là OEIS A001008 và mẫu số là OEIS A002805 .
gcd
"chức năng tích hợp" nếu ngôn ngữ của bạn cung cấp nó?
gcd
và các chức năng tích hợp khác đều ổn. Các loại hợp lý / phân số không được phép.