vector<ll>d; // d用来存约数结果
// 求n的约数
for(ll i=1;i*i<=n;i++)
{
if(n%i==0)
{
d.push_back(i);
if(n/i!=i)d.push_back(n/i);
//其中n/i!=i的作用,举个例子:100的约数其中有10,100/10=10
//只需存一个10即可,故需要用if判断一下
}
}
for(auto x:d)
cout<<x<<endl;
原文:https://www.cnblogs.com/zyccc/p/14724716.html