Yêu cầu: Viết hàm uoc(a) để tính tổng các ước số của một số nguyên a. Dữ liệu: Một dòng ghi số nguyên a (0<a<1012) Kết quả: In ra tổng các ước số của số nguyên a. Ví dụ input 6 output 12 Không dùng lặp

1 câu trả lời

*Bạn dùng thử code nhé (mình không giỏi C++ lắm):

#include <bits/stdc++.h>
using namespace std;

int uoc(int a,int n) //n chạy từ a -> 1
{
    long long t=0;
    if (a%n==0)
        t=n;
    if (n==1)
        return 1;
    return uoc(a,n-1)+t;
}

long long a;

int main()
{
    cin >> a;
    long long u=uoc(a,a);
    cout << u;
}

*Python:

def uoc(a,n):
    tam=0
    if (a%n==0):
        tam=n
    if (n==1):
        return 1
    return uoc(a,n-1)+tam
a=int(input())
tonguoc=uoc(a,a)
print(tonguoc)

Câu hỏi trong lớp Xem thêm