【图论】判断图中有环的两种方法及实现

九枫行空:

大佬能不能给我看看我这代码哪错了

#include

#include

#include

using namespace std;

void f(int a)

{

vector factor;

unsigned long long sum=0;

factor.push_back(1);

for(int i=2;i*i<=a;i++)

{

if(a%i==0)

{

factor.push_back(i);

if(a/i!=i)

factor.push_back(a/i);

}

}

if(a!=1)

factor.push_back(a);

sort(factor.begin(),factor.end());

for(int i=0;i

{

if(i!=int(factor.size())-1)

sum+=(a/factor[i])*(factor[i+1]-factor[i]);

else

sum++;

}

cout<

return;

}

int main()

{

int t,n;

cin>>t;

for(int i=1;i<=t;i++)

{

cin>>n;

f(n);

}

return 0;

}