Find sum of even factors of a number

. 1 #include <bits / STDC ++ H.>
 2  
. 3  the using  namespace STD;
 . 4  
. 5  Long  Long Solve ( int n-) // have an even number of factors must be an even number come: Dual = × even even even = even × odd 
. 6  {
 . 7      IF (n-% 2 ! = 0 ) // not a given exception handling 
. 8          return  0 ;
 . 9      Long  Long SUM = 0 ;
 10      for ( int I = 2 ; I <= sqrt (* n- 1.0 ); I ++) // do not write equal sign being given a 
11     {
12         if(n%i==0&&i%2==0)
13         {
14             if(i==n/i)
15                 sum+=i;
16             else if((n/i)%2==0)
17                 sum+=(i+n/i);
18             else
19                 sum+=i;
20         }
21         else if(n%i==0&&i%2!=0)
22             sum+=(n/i);
23     }
24     return sum+n;
25 }
26 
27 int main()
28 {
29     int t,n;
30     cin>>t;
31     while(t--)
32     {
33         cin>>n;
34         cout<<solve(n)<<endl;
35     }
36     return 0;
37 }

 

Guess you like

Origin www.cnblogs.com/chuanwen-tech/p/11291194.html