Số bốn ước

Xem PDF

Điểm: 300 Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho \(1\) số nguyên dương \(n\), đếm xem \(n\) có bao nhiêu ước dương sao cho ước đó có đúng \(4\) ước nguyên dương.

Input

  • Một dòng duy nhất là số \(n\).

Output

  • \(1\) số duy nhất là kết quả.

Scoring

  • Subtask \(1\) (\(50\%\) số điểm): \(n \le 10^4\).
  • Subtask \(2\) (\(50\%\) số điểm): \(n \le 10^6\).

Example

Test 1

Input
8
Output
1
Note

Chỉ có \(1\) ước thỏa mãn là \(8\).


Bình luận


  • -2
    vietnammuonnam_mvn    6:04 p.m. 29 Tháng 8, 2024

    def count_divisors(x):
    """ Tính số lượng ước của số x """
    count = 0
    sqrt_x = int(x**0.5)
    for i in range(1, sqrt_x + 1):
    if x % i == 0:
    if i * i == x:
    count += 1
    else:
    count += 2
    return count

    def find_divisors(n):
    """ Tìm tất cả các ước số của n """
    divisors = set()
    for i in range(1, int(n**0.5) + 1):
    if n % i == 0:
    divisors.add(i)
    divisors.add(n // i)
    return divisors

    def count_divisors_with_four_divisors(n):
    """ Đếm số lượng ước số của n mà có đúng 4 ước số """
    count = 0
    divisors = find_divisors(n)
    for d in divisors:
    if count_divisors(d) == 4:
    count += 1
    return count

    Đọc đầu vào

    n = int(input().strip())

    Tính và in ra kết quả

    print(count_divisors_with_four_divisors(n))

    • 9 bình luận nữa