cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A226231 Nontrivial prime powers (A025475) which are a sum of a smaller nontrivial prime power and a perfect square in more than 1 way.

Original entry on oeis.org

25, 125, 512, 3125, 4913, 50653, 78125, 7645373, 48828125, 69343957, 310288733, 410338673, 1220703125, 4103684801, 24820429213, 164296466333, 296709280757, 762939453125, 1772000266301, 10368641602001, 11392143817501, 19073486328125, 29724740184833, 72079590632113
Offset: 1

Views

Author

Alex Ratushnyak, May 31 2013

Keywords

Comments

Subsequence of A226230.

Examples

			125 = 4 + 11^2 = 25 + 10^2 = 121 + 4^2. Because there are three representations, 125 is in the sequence. Note that 100 + 5^2 is not listed, because 100 is not a prime power.
		

Crossrefs

Programs

  • C
    #include 
    #include 
    #include 
    #define TOP (1ULL<<32)
    typedef unsigned long long U64;
    int compare64(const void *p1, const void *p2) {
      if (*(U64*)p1== *(U64*)p2) return 0;
      return (*(U64*)p1 < *(U64*)p2) ? -1 : 1;
    }
    int main() {
      U64 i, j, k, p, t, r, n=0, *pp = (U64*)malloc(TOP/2);
      unsigned char *c = (unsigned char *)malloc(TOP/8);
      memset(c, 0, TOP/8);
      for (pp[n++] = i = 1; i < TOP; i+=2)
        if ((c[i>>4] & (1<<((i>>1) & 7)))==0) {
          for (p=i+(i==1), j = p*p; ; j*=p) {
            pp[n++] = j;
            double k = ((double)j) * ((double)p);
            if (k >= ((double)(1ULL<<62)*4.0)) break;
          }
          if(i>1) for (j=i*i>>1; j>3]|= 1<<(j&7);
        }
      qsort(pp, n, 8, compare64);
      for (i = 0; i < n; i++)
        for (p=pp[i], j = k = 0; j < i; j++) {
          t = p - pp[j];
          r = sqrt(t);
          if (r*r==t && ++k==2) { printf("%llu, ", p); break; }
        }
      return 0;
    }