Đề bài như thế này
Tính tổng các ước của n số nhập vào từ bàn phím
Input
Dòng đầu chứa số bộ test.
Các dòng sau, mỗi dòng chứa 1 số nguyên dương n
Output
Mỗi test in trên 1 dòng chứa 1 số nguyên là tổng các ước của test tương ứng đó.
n: số bộ test mình cần kiểm tra ví dụ:
Input:
2
5
6
Ouput:
6
12
Đây là Code của em. Cách này tuy đúng nhưng time chạy có vẻ lâu, mọi người còn cách nào chạy nhanh hơn không ạ?? Tối ưu nó càng chạy nhanh càng tốt. Em cảm ơn ạ!!
#include<iostream>
#include<math.h>
using namespace std;
void tong(int &a){
int s =0;
for(int i = 1 ;i <= a; i++){
if(a % i == 0){
s += i;
}
}
cout << s << endl;
}
int main(){
int n;
cout << "nhap so n = ";
cin >> n;
int b[100];
cout << "nhap cac so can tinh : ";
for(int i=0;i<n;i++){
cin >> b[i];
}
cout << "ket qua la : " << endl;
for(int i=0;i<n;i++){
tong(b[i]);
}
}