login
A225102
Numbers that can be represented as a sum of two distinct nontrivial prime powers (numbers of the form p^k where p is a prime number and k >= 2).
8
12, 13, 17, 20, 24, 25, 29, 31, 33, 34, 35, 36, 40, 41, 43, 48, 52, 53, 57, 58, 59, 65, 68, 72, 73, 74, 76, 80, 81, 85, 89, 90, 91, 96, 97, 106, 108, 113, 125, 129, 130, 132, 133, 134, 136, 137, 141, 144, 145, 146, 148, 150, 152, 153, 155, 157, 160, 170, 173, 174, 177
OFFSET
1,1
COMMENTS
Indices of positive terms in A225099.
Nontrivial prime powers are A025475 except the first term A025475(1) = 1.
LINKS
MAPLE
N:= 1000: # to get all terms <= N
P:= select(isprime, [2, seq(i, i=3..floor(sqrt(N)), 2)]):
PP:= sort(map(p -> seq(p^t, t=2..floor(log[p](N))), P)):
sort(convert(select(`<=`, {seq(seq(PP[i]+PP[j], j=1..i-1), i=1..nops(PP))}, N), list)); # Robert Israel, Feb 21 2017
MATHEMATICA
nn = 177; p = Sort[Flatten[Table[Prime[n]^i, {n, PrimePi[Sqrt[nn]]}, {i, 2, Log[Prime[n], nn]}]]]; Select[Union[Flatten[Table[p[[i]] + p[[j]], {i, Length[p] - 1}, {j, i + 1, Length[p]}]]], # <= nn &] (* T. D. Noe, Apr 29 2013 *)
PROG
(C)
#include <stdio.h>
#include <stdlib.h>
#define TOP (1ULL<<17)
unsigned long long *powers, pwFlat[TOP], primes[TOP] = {2};
int main() {
unsigned long long a, c, i, j, k, n, p, r, pp = 1, pfp = 0;
powers = (unsigned long long*)malloc(TOP * TOP/8);
memset(powers, 0, TOP * TOP/8);
for (a = 3; a < TOP; a += 2) {
for (p = 0; p < pp; ++p) if (a % primes[p] == 0) break;
if (p == pp) primes[pp++] = a;
}
for (k = i = 0; i < pp; ++i)
for (j = primes[i]*primes[i]; j < TOP*TOP; j *= primes[i])
powers[j/64] |= 1ULL << (j & 63), ++k;
if (k > TOP) exit(1);
for (n = 0; n < TOP * TOP; ++n)
if (powers[n/64] & (1ULL << (n & 63))) pwFlat[pfp++] = n;
for (n = 0; n < TOP * TOP; ++n) {
for (c = i = 0; pwFlat[i] * 2 < n; ++i)
r=n-pwFlat[i], c+= (powers[r/64] & (1ULL <<(r&63))) > 0;
if (c) printf("%llu, ", n);
}
return 0;
}
CROSSREFS
Sequence in context: A246781 A241748 A298591 * A057488 A105733 A035123
KEYWORD
nonn
AUTHOR
Alex Ratushnyak, Apr 28 2013
STATUS
approved