Lê Thanh Nhàn | Chat Online
14/09/2024 17:17:28

Viết chương trình tìm ước chung lớn nhất


  • BÀI TẬP
  • NỘP BÀI
  • BẢNG CHẤM BÀI SH04T.TR
  • CÁC LẦN BẠN NỘP
SH04T.Tr - Ước chung lớn nhất _SH04T.Tr

Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: admin
GCD lớn nhất                         Tên file: GCDMAX.CPP hoặc GCDMAX.PY

Hãy xem xét tất cả các số nguyên trong phạm vi từ 1 đến n.

Trong số tất cả các cặp số nguyên phân biệt trong phạm vi này, hãy tìm ước số chung lớn nhất có thể có của các số nguyên trong cặp. Về mặt hình thức, hãy tìm giá trị lớn nhất của gcd (a, b) (ước chung lớn nhất của a và b), trong đó 1 ≤ a <b ≤ n.

Input: GCDMAX.INP:

  • Dòng đầu tiên chứa số nguyên dương t (t ≤ 100), số lượng các trường chợp cần xét
  • t dòng tiếp theo, mỗi dòng chứa 1 số nguyên dương n (2 ≤ n ≤ 106)

Output: GCDMAX.OUT:

  • gồm t dòng, mỗi dòng chứa số nguyên dương là ước số chung lớn nhất của ước số chung lớn nhất của các cặp số thuộc đoạn [1, n]

Ví dụ:

GCDMAX.INP

GCDMAX.OUT

 

2

3

5

1

2

Giải thích:

- ở trường hợp 1: n = 3, ước chung lớn nhất của mọi cặp (a, b) ≤ n là: gcd(1,2) = gcd(1,3) = gcd (2,3) = 1 nên kết quả là 1.

- ở trường hợp 2: n = 5, ước chung lớn nhất của mọi cặp (a, b) ≤ n là: gcd(1,2) = gcd(1,3) = gcd(1,4) = gcd(1,5) = gcd(2,3) = gcd(2,5) = gcd (3,4) = gcd(3,5) = gcd(4,5) = 1, gcd(2, 4) = 2 nên kết quả là 2.

Lazi.vn