trang chủ / bài tập / fractions

Phân số

Đề bài

Mô tả

Cho một số nguyên dương n.

Hãy tìm một dãy các phân số aibi với i=1,2,,k (trong đó ai, bi đều là các số nguyên dương) sao cho đồng thời thoả mãn:

  • bi là ước của n1<bi<n với mọi i;
  • 1ai<bi với mọi i;
  • i=1kaibi=11n.

Dữ liệu vào

  • Một dòng duy nhất chứa số nguyên n.

Dữ liệu ra

  • Dòng đầu tiên in ra YES nếu tồn tại dãy phân số thoả mãn, ngược lại in ra NO.
  • Nếu có, dòng thứ hai in ra số nguyên k (1k100000), là số phần tử của dãy. Nếu tồn tại đáp án thì luôn tồn tại một đáp án có k100000.
  • Trên k dòng tiếp theo, mỗi dòng in ra hai số nguyên aibi mô tả một phân số của dãy.

Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Ràng buộc

  • 2n109.

Ví dụ

Input Output Giải thích
2 NO Ước duy nhất thoả mãn 1<b<2 không tồn tại, nên không có dãy nào.
6 YES
2
1 2
1 3
12+13=56=116. Các mẫu số 2,3 đều là ước của 6 và nằm trong khoảng (1,6).

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0