Số lượng ước số của n

Xem PDF



Thời gian:
Python 3 6.0s
Bộ nhớ:
Python 3 64M

Tác giả:
Dạng bài
Điểm: 100 Thời gian: 10.0s Bộ nhớ: 640M Input: bàn phím Output: màn hình

Viết chương trình nhập vào số nguyên \(n\) (\(n \times 10^7\)). In ra số lượng ước số của \(n\). (Ước số của \(n\) là các số nguyên mà \(n\) chia hết)

Ví dụ: \(n=10\) thì \(4\) ước số: \(1\ 2\ 5\ 10\)

Input

  • Một số nguyên dương \(n\).

Output

  • In ra số lượng ước số của \(n\).

Example

Test 1

Input
10
Output
4

Test 2

Input
36
Output
9

Bình luận


  • 0
    tk22dangminhduc 1:37 p.m. 1 Tháng 8, 2023 chỉnh sửa 2

    SOLUTION:

    Bài này có 2 phương pháp giải

    Cách 1:

    Duyệt for từ 1 đến sqrt(n) (căn bậc 2), nếu số đó chia hết cho n (hay còn gọi là ước) của n thì +2, nhưng nếu n là một số chính phương thì khi duyệt đến căn bậc 2 của n, chúng ta chỉ +1.

    Cách 2:

    Phuơng pháp này chỉ áp dụng với số > 1
    1: Phân tích n sang thừa số nguyên tố
    2: lấy các số mủ của các thừa số nguyên tố +1
    3: tính tích của dãy số vừa tìm được
    vd : 20 = \(2^2\) * \(5^1\)
    -dãy số mủ số sau khi +1 là (3; 2)
    -tính tích = 3 * 2 = 6
    Vậy kq=6
    hãy kiểm chứng Ư(20) = {1; 2; 4; 5; 10; 20}, kq = 6
    => Dù n là 1 số nguyên tố thì cách này vẫn đúng!

    1 phản hồi

    • 0
      namhai2012 9:52 p.m. 17 Tháng 7, 2023

      khó quá


      • 0
        ledung982110 11:24 a.m. 9 Tháng 4, 2023

        bài này t chỉ duyệt for đến căn của n thôi nha nếu chia hết thì +=2 lên là đc.

        2 phản hồi