﻿ compute maximum number of divisors
```/*CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C                                                                             C
C  COMPUTE NUMBER OF DIVISORS (assumes N is divisible by 360)		      C
C  10/16/15 (DKC) (starts after N=2520=360*7)				      C
C                                                                             C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC*/
#include <stdio.h>
#include <math.h>
#include "table2.h"
//
unsigned int MAXN=2000000000;  // maximum N (to be multiplied by 360)
unsigned int BEGINN=7;	// beginning N (to be multiplied by 360)
//
void main() {
unsigned int N,h,i,p,count,maxcnt,t,total,flag2,flag3,flag5;
FILE *Outfp;
Outfp = fopen("out1ac.dat","w");
//
// compute convolutions
//
maxcnt=48;
for (N=BEGINN; N<=MAXN; N++) {
t=N;
flag2=4;
flag3=3;
flag5=2;
count=0;
while ((t&1)==0) {
count=count+1;
t=t>>1;
}
flag2=flag2+count;
count=0;
while (t==(t/3)*3) {
count=count+1;
t=t/3;
}
flag3=flag3+count;
count=0;
while (t==(t/5)*5) {
count=count+1;
t=t/5;
}
flag5=flag5+count;
total=flag2*flag3*flag5;
//   printf(" N=%d t=%d %d %d %d \n",N,total,flag2,flag3,flag5);
if (t==1)
h=(unsigned int)(sqrt((double)t)*19.0);
for (i=3; i<17983; i++) {
p=table[i];
if (p>h)
count=0;
while (t==(t/p)*p) {
t=t/p;
count=count+1;
}
total=total*(count+1);
}
printf("error \n");
goto zskip;