/******************************************************************************
* *
* COUNT NUMBER OF DIVISORS AND SUM OF LOGARITHMS *
* 04/02/10 (dkc) *
* *
******************************************************************************/
#include <math.h>
double numdiv(unsigned int a, unsigned int flag) {
unsigned int i,count;
double temp,sum,sum2;
count=0;
sum=0.0;
sum2=0.0;
for (i=1; i<=a; i++) {
if (a==(a/i)*i) {
count=count+1;
sum=sum+(double)i;
sum2=sum2+(double)i*(double)i;
}
}
temp=(double)count/2.0;
if (flag==1)
return temp;
if (flag==2)
return(temp*temp);
if (flag==3) {
temp=(log((double)a))/temp;
return temp;
}
if (flag==5)
return(sum2);
return(sum); // flag=4
}