Skip to main content
2 of 3
added 54 characters in body
Will Jagy
  • 25.7k
  • 2
  • 65
  • 121

Got a correct program going to find $m(6).$ Today is Monday, 7 October, 2013. I call it joseph.cc I started it going at 12:53 PDT, lunchtime, and put timestamps into the file that keeps the successes (of smaller size as we continue) called joseph.txt. I switched to log 10 for the output. Anyway, readable or not, here is output for the first 17 minutes, followed by the program in its entirety:

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

jagy@phobeusjunior:~$ tail -45 joseph.txt
     116.814  651907611648300222725782474725592418809035465656889971919224893561886421964804482955701436492603438100109520590000000 = 2^7 3^7 5^7 7^5 11^5 13^5 17^5 19^4 23^4 29^3 31^3 37^3 41^3 43^3 47^3 53^3 59^3 61^3 67^2 71^2 73^2 79^2 83^2 89^2 97^2 101^2 17283248640000 1296
Mon Oct  7 12:58:36 PDT 2013
     116.094  124169835254646341805332354513462020365253985861321166105191056581780738935164700557095176071476176867808332370000000 = 2^7 3^7 5^7 7^5 11^5 13^5 17^5 19^4 23^4 29^4 31^3 37^3 41^3 43^3 47^3 53^3 59^3 61^3 67^3 71^2 73^2 79^2 83^2 89^2 97^2 17283248640000 1296
Mon Oct  7 12:58:37 PDT 2013
     115.463  29046424422943628261615103866949719080021683800698043001118664633489149367233234767368103149465306120315244930000000 = 2^7 3^7 5^7 7^5 11^5 13^5 17^5 19^4 23^4 29^4 31^4 37^3 41^3 43^3 47^3 53^3 59^3 61^3 67^3 71^3 73^2 79^2 83^2 89^2 17283248640000 1296
Mon Oct  7 12:58:37 PDT 2013
     114.996  9904607040319497529935916619698420809889984591047268545135906220812295472907078286410964096289078630346102330000000 = 2^7 3^7 5^7 7^5 11^5 13^5 17^5 19^4 23^4 29^4 31^4 37^4 41^3 43^3 47^3 53^3 59^3 61^3 67^3 71^3 73^3 79^2 83^2 17283248640000 1296
Mon Oct  7 12:58:37 PDT 2013
     114.668  4656847467498164102113867605051993758634585584323138745492117905241838443423722829102208260688100694395561830000000 = 2^7 3^7 5^7 7^5 11^5 13^5 17^5 19^4 23^4 29^4 31^4 37^4 41^4 43^3 47^3 53^3 59^3 61^3 67^3 71^3 73^3 79^3 17283248640000 1296
Mon Oct  7 12:58:37 PDT 2013
     114.533  3413990801383729063446996805975279442431534859039247321555545609617270301842462008385267520786794596391048230000000 = 2^7 3^7 5^7 7^7 11^5 13^5 17^5 19^5 23^4 29^4 31^4 37^3 41^3 43^3 47^3 53^3 59^3 61^3 67^3 71^3 73^2 79^2 83^2 15122842560000 1296
Mon Oct  7 12:59:31 PDT 2013
     114.127  1338538126656619567480089762365979064306514102811004066703662170355094656013425734453274433683427522841083070000000 = 2^7 3^7 5^7 7^7 11^5 13^5 17^5 19^5 23^4 29^4 31^4 37^4 41^3 43^3 47^3 53^3 59^3 61^3 67^3 71^3 73^3 79^2 15122842560000 1296
Mon Oct  7 12:59:31 PDT 2013
     114.077  1193767539331957140297096557815901213255897692075957159953947066206770846878821925647640682243543917983250820000000 = 2^8 3^7 5^7 7^7 11^7 13^5 17^5 19^5 23^5 29^4 31^4 37^4 41^3 43^3 47^3 53^3 59^3 61^3 67^3 71^3 73^3 15122842560000 1296
Mon Oct  7 13:04:22 PDT 2013
jagy@phobeusjunior:~$ 

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

    #include <iostream>
    #include <stdlib.h>
    #include <fstream>
    #include <sstream>
    #include <strstream>
    #include <list>
    #include <set>
    #include <math.h>
    #include <iomanip>
    #include <string>
    #include <algorithm>
    #include <iterator>
    
    
    #include <gmp.h>
    #include <gmpxx.h>
    
    using namespace std;
    
    
    
    
    // const double my_pi = 4 * atan(1.0);
    const double E_TO_THE_GAMMA  = 1.7810724179901979852365 ;
    const double GAMMA  = 0.57721566490153286060 ;
    const int BOUND = 1875;
    
    //  joseph.cc   
    
    
    
    
    //  g++  -o joseph joseph.cc  -lgmp -lgmpxx
    
    
    
    string stringify(int x)
     {
       ostringstream o;
       o << x  ;
       return o.str();
     }
    
    
    
    
    
    string mp_Factored( mpz_class  i)
    {
      string fac;
      fac = " = ";
      int p = 2;
       mpz_class  temp = i;
      if (temp < 0 )
      {
        temp *= -1;
        fac += " -1 * ";
      }
    
      if ( 1 == temp) fac += " 1 ";
      if ( temp > 1)
      {
        int primefac = 0;
        while( temp > 1 && p * p <= temp)
        {
          if (temp % p == 0)
          {
            ++primefac;
            if (primefac > 1) fac += " ";
             fac += stringify( p) ;
            temp /= p;
            int exponent = 1;
            while (temp % p == 0)
            {
              temp /= p;
              ++exponent;
            } // while p is fac
            if ( exponent > 1)
            {
              fac += "^" ;
              fac += stringify( exponent) ;
            }
          }  // if p is factor
          ++p;
        } // while p
        if (temp > 1 && primefac >= 1) fac += " ";
        if (temp > 1 ) fac += stringify( temp.get_ui())  ;
      } // temp > 1
      return fac;
    } // mp_Factored
    
    
    
    //  g++  -o joseph joseph.cc  -lgmp -lgmpxx
    
    
     mpz_class  intpow(int n, int k)
    {
        mpz_class blob = 1;
       for(int j = 1; j <= k; ++j) blob *= n;
    
       return ( blob );
    
    }
    
    
     mpz_class orourke( mpz_class i)
    {
      mpz_class joe = 1;
     
      int p = 2;
      mpz_class temp = i;
      if (temp < 0 )
      {
        temp *= -1;
      
      }
    
    
      if ( temp > 1)
      {
       
        while( temp > 1 && p * p <= temp)
        {
          if (temp % p == 0)
          {
       
            temp /= p;
            int exponent = 1;
            while (temp % p == 0)
            {
              temp /= p;
              ++exponent;
            } // while p is fac
            if ( exponent > 1)
            {
            
              joe *= exponent ;
            }
          }  // if p is factor
          ++p;
        } // while p
       
      } // temp > 1
      return joe;
    } // orourke
    
    
    
    //  g++  -o joseph joseph.cc  -lgmp -lgmpxx
    
    
    int main()
    {
    
       ofstream erasefile("joseph.txt");
      erasefile.close();
    
    
    
  //      double luge = 0.0; // declared later although compile did not complain
      double luge_bound = 270.0;  //270.0
         // product of exponents
       for( int e2 = 2; e2 * log(2.0) <  luge_bound  ; ++e2){
          mpz_class  p2 =   intpow(2, e2) ;
          double luge2 =   e2 * log(2.0) ; 
    
     //   cerr << "2^" << e2 << endl;
    
        for( int e3 = 0; e3 <= e2 && luge2 + e3 * log(3.0) <  luge_bound  ; ++e3){
          mpz_class  p3 = p2 *  intpow(3, e3) ;
          double luge3 = luge2 + e3 * log(3.0)  ; 
    
     //   cerr << "2^" << e2 << "  3^" << e3 << endl;
    
        for( int e5 = 0; e5 <= e3 && luge3 + e5 * log(5.0) <  luge_bound  ; ++e5){
          mpz_class  p5 = p3 *  intpow(5, e5) ;
          double luge5 = luge3 + e5 * log(5.0)  ; 
    
     //   cerr << "2^" << e2 << "  3^" << e3  << "  5^" << e5 << endl;
    
        for( int e7 = 0; e7 <= e5 && luge5 + e7 * log(7.0) <  luge_bound  ; ++e7){
          mpz_class  p7 = p5 *  intpow(7, e7) ;
          double luge7 = luge5 + e7 * log(7.0)  ; 
    
        cerr << "2^" << e2 << "  3^" << e3  << "  5^" << e5  << "  7^" << e7  << endl;
           system("date");
             cout << endl;
    
    
    
        for( int e11 = 0; e11 <= e7 && luge7 + e11 * log(11.0) <  luge_bound  ; ++e11){
          mpz_class  p11 = p7 *  intpow(11, e11) ;
          double luge11 = luge7 + e11 * log(11.0)  ; 
    
        for( int e13 = 0; e13 <= e11 && luge11 + e13 * log(13.0) <  luge_bound  ; ++e13){
          mpz_class  p13 = p11 *  intpow(13, e13) ;
          double luge13 = luge11 + e13 * log(13.0)  ; 
    
        for( int e17 = 0; e17 <= e13 && luge13 + e17 * log(17.0) <  luge_bound  ; ++e17){
          mpz_class  p17 = p13 *  intpow(17, e17) ;
          double luge17 = luge13 + e17 * log(17.0)  ; 
    
        for( int e19 = 0; e19 <= e17 && luge17 + e19 * log(19.0) <  luge_bound  ; ++e19){
          mpz_class  p19 = p17 *  intpow(19, e19) ;
          double luge19 = luge17 + e19 * log(19.0)  ; 
    
        for( int e23 = 0; e23 <= e19 && luge19 + e23 * log(23.0) <  luge_bound  ; ++e23){
          mpz_class  p23 = p19 *  intpow(23, e23) ;
          double luge23 = luge19 + e23 * log(23.0)  ; 
        
        for( int e29 = 0; e29 <= e23 && luge23 + e29 * log(29.0) <  luge_bound  ; ++e29){
          mpz_class  p29 = p23 *  intpow(29, e29) ;
          double luge29 = luge23 + e29 * log(29.0)  ; 
        
        for( int e31 = 0; e31 <= e29 && luge29 + e31 * log(31.0) <  luge_bound  ; ++e31){
          mpz_class  p31 = p29 *  intpow(31, e31) ;
          double luge31 = luge29 + e31 * log(31.0)  ; 
    
        for( int e37 = 0; e37 <= e31 && luge31 + e37 * log(37.0) <  luge_bound  ; ++e37){
          mpz_class  p37 = p31 *  intpow(37, e37) ;
          double luge37 = luge31 + e37 * log(37.0)  ; 
    
        for( int e41 = 0; e41 <= e37 && luge37 + e41 * log(41.0) <  luge_bound  ; ++e41){
          mpz_class  p41 = p37 *  intpow(41, e41) ;
          double luge41 = luge37 + e41 * log(41.0)  ; 
    
        for( int e43 = 0; e43 <= e41 && luge41 + e43 * log(43.0) <  luge_bound  ; ++e43){
          mpz_class  p43 = p41 *  intpow(43, e43) ;
          double luge43 = luge41 + e43 * log(43.0)  ; 
    
        for( int e47 = 0; e47 <= e43 && luge43 + e47 * log(47.0) <  luge_bound  ; ++e47){
          mpz_class  p47 = p43 *  intpow(47, e47) ;
          double luge47 = luge43 + e47 * log(47.0)  ; 
    
        for( int e53 = 0; e53 <= e47 && luge47 + e53 * log(53.0) <  luge_bound  ; ++e53){
          mpz_class  p53 = p47 *  intpow(53, e53) ;
          double luge53 = luge47 + e53 * log(53.0)  ; 
    
        for( int e59 = 0; e59 <= e53 && luge53 + e59 * log(59.0) <  luge_bound  ; ++e59){
          mpz_class  p59 = p53 *  intpow(59, e59) ;
          double luge59 = luge53 + e59 * log(59.0)  ; 
    
        for( int e61 = 0; e61 <= e59 && luge59 + e61 * log(61.0) <  luge_bound  ; ++e61){
          mpz_class  p61 = p59 *  intpow(61, e61) ;
          double luge61 = luge59 + e61 * log(61.0)  ; 
    
        for( int e67 = 0; e67 <= e61 && luge61 + e67 * log(67.0) <  luge_bound  ; ++e67){
          mpz_class  p67 = p61 *  intpow(67, e67) ;
          double luge67 = luge61 + e67 * log(67.0)  ; 
    
        for( int e71 = 0; e71 <= e67 && luge67 + e71 * log(71.0) <  luge_bound  ; ++e71){
          mpz_class  p71 = p67 *  intpow(71, e71) ;
          double luge71 = luge67 + e71 * log(71.0)  ; 
    
        for( int e73 = 0; e73 <= e71 && luge71 + e73 * log(73.0) <  luge_bound  ; ++e73){
          mpz_class  p73 = p71 *  intpow(73, e73) ;
          double luge73 = luge71 + e73 * log(73.0)  ; 
    
        for( int e79 = 0; e79 <= e73 && luge73 + e79 * log(79.0) <  luge_bound  ; ++e79){
          mpz_class  p79 = p73 *  intpow(79, e79) ;
          double luge79 = luge73 + e79 * log(79.0)  ; 
    
        for( int e83 = 0; e83 <= e79 && luge79 + e83 * log(83.0) <  luge_bound  ; ++e83){
          mpz_class  p83 = p79 *  intpow(83, e83) ;
          double luge83 = luge79 + e83 * log(83.0)  ; 
    
        for( int e89 = 0; e89 <= e83 && luge83 + e89 * log(89.0) <  luge_bound  ; ++e89){
          mpz_class  p89 = p83 *  intpow(89, e89) ;
          double luge89 = luge83 + e89 * log(89.0)  ; 
    
        for( int e97 = 0; e97 <= e89 && luge89 + e97 * log(97.0) <  luge_bound  ; ++e97){
          mpz_class  p97 = p89 *  intpow(97, e97) ;
          double luge97 = luge89 + e97 * log(97.0)  ; 
    
        for( int e101 = 0; e101 <= e97 && luge97 + e101 * log(101.0) <  luge_bound  ; ++e101){
          mpz_class  p101 = p97 *  intpow(101, e101) ;
          double luge101 = luge97 + e101 * log(101.0)  ; 
    
        for( int e103 = 0; e103 <= e101 && luge101 + e103 * log(103.0) <  luge_bound  ; ++e103){
          mpz_class  p103 = p101 *  intpow(103, e103) ;
          double luge103 = luge101 + e103 * log(103.0)  ; 
    
        for( int e107 = 0; e107 <= e103 && luge103 + e107 * log(107.0) <  luge_bound  ; ++e107){
          mpz_class  p107 = p103 *  intpow(107, e107) ;
          double luge107 = luge103 + e107 * log(107.0)  ; 
    
        for( int e109 = 0; e109 <= e107 && luge107 + e109 * log(109.0) <  luge_bound  ; ++e109){
          mpz_class  p109 = p107 *  intpow(109, e109) ;
          double luge109 = luge107 + e109 * log(109.0)  ; 
    
        for( int e113 = 0; e113 <= e109 && luge109 + e113 * log(113.0) <  luge_bound  ; ++e113){
          mpz_class  p113 = p109 *  intpow(113, e113) ;
          double luge113 = luge109 + e113 * log(113.0)  ; 
    
        for( int e127 = 0; e127 <= e113 && luge113 + e127 * log(127.0) <  luge_bound  ; ++e127){
          mpz_class  p127 = p113 *  intpow(127, e127) ;
          double luge127 = luge113 + e127 * log(127.0)  ; 
    
        for( int e131 = 0; e131 <= e127 && luge127 + e131 * log(131.0) <  luge_bound  ; ++e131){
          mpz_class  p131 = p127 *  intpow(131, e131) ;
          double luge131 = luge127 + e131 * log(131.0)  ; 
    
        for( int e137 = 0; e137 <= e131 && luge131 + e137 * log(137.0) <  luge_bound  ; ++e137){
          mpz_class  p137 = p131 *  intpow(137, e137) ;
          double luge137 = luge131 + e137 * log(137.0)  ; 
    
        for( int e139 = 0; e139 <= e137 && luge137 + e139 * log(139.0) <  luge_bound  ; ++e139){
          mpz_class  p139 = p137 *  intpow(139, e139) ;
          double luge139 = luge137 + e139 * log(139.0)  ; 
    
        for( int e149 = 0; e149 <= e139 && luge139 + e149 * log(149.0) <  luge_bound  ; ++e149){
          mpz_class  p149 = p139 *  intpow(149, e149) ;
          double luge149 = luge139 + e149 * log(149.0)  ; 
    
    
    //  g++  -o joseph joseph.cc  -lgmp -lgmpxx
    
         mpz_class p = p149;
         double luge = luge149;
    
        if (   orourke(orourke(orourke(orourke(orourke(p))))) != 1 &&    orourke(orourke(orourke(orourke(orourke(orourke(p)))))) == 1  && luge < luge_bound  ) 
        {
              cout <<  setw(12) << luge / log(10.0) << "  "  << p << mp_Factored(p) << " " << orourke(p) << endl;
             luge_bound = luge;
      
               ofstream outfile("joseph.txt",ios::app);
             outfile <<  setw(12) << luge / log(10.0) << "  "  << p << mp_Factored(p) << " " <<   orourke(p)  << " " <<    orourke(orourke(p)) << endl;
            
            outfile.close();  // close quickly save partial progress
           system("date >> joseph.txt") ;
    
    
      
        } // if
    
       } // 149
       } // 139
       } // 137
       } // 131
       } // 127
       } // 113
       } // 109
       } // 107
       } // 103
       } // 101
       } // 97
       } // 89
       } // 83
       } // 79
       } // 73
       } // 71
       } // 67
       } // 61
       } // 59
       } // 53
       } // 47
       } // 43
       } // 41
       } // 37
       } // 31
       } // 29
       } // 23
       } // 19
       } // 17
       } // 13
       } // 11
       } // 7
       } // 5
       } // 3
       } // 2
    
    
        return 0 ;
    }

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Will Jagy
  • 25.7k
  • 2
  • 65
  • 121