// This program finds the factors for an integer #include #include #include #include #include #define MAX 10000000 unsigned long i,inum,istore,j,k; unsigned long num[100]; double error; int iflag = 0; FILE *pFile[1]; char filename[1][15]; void main() { printf("\n\n factor.cpp version 1.0 \n"); printf("\n By Tom Irvine Email: tomirvine@aol.com \n"); printf("\n Enter an integer \n"); scanf("%ld",&inum); if(double(inum) > 2.0e+08) { printf("\n Error: input value is too high.\n"); exit(1); } istore=inum; k=0; while(1) { for(i=2; i<= inum/2; i++) { error= (double(inum)/double(i))-double(unsigned long(double(inum)/double(i))); if(fabs(error) < 1.0e-12) { iflag=1; num[k]=i; k++; inum=unsigned long(double(inum)/double(i)); break; } } if(num[0]==istore){iflag=0;} if(iflag==0 || inum <2) { break; } if( i > inum/2 && iflag ==1 ) { num[k]=inum; k++; break; } } if(iflag==0) { printf("\n\n %ld is a prime number. \n",istore); } else { printf("\n\n factors \n"); for(i=0; i