Cho một số nguyên dương N. Hãy lập trình đọc số N và tìm các ước số của N (1 ≤ N ≤ 10^12). Kết quả ước số in theo đúng yêu cầu.
2 câu trả lời
var n,i:longint;
begin
readln(n);
for i:=1 to n do
if n mod i=0 then write(i,' ');
readln;
end.
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main() {
ll n;
cin >> n;
vector<ll> divisors;
divisors.push_back(1);
divisors.push_back(n);
for (ll i = 2; i * i <= n; ++i) {
if (n % i == 0) {
divisors.push_back(i);
if (i * i != n) divisors.push_back(n / i);
}
}
sort(divisors.begin(), divisors.end());
for (ll i = 0; i < divisors.size(); ++i) cout << divisors[i] << " ";
}