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.
%I A354718 #35 Sep 12 2023 12:29:34 %S A354718 -1,3,4,-1,6,-1,8,-1,-1,2,2,3,4,7,6,7,10,9,10,-1,3,-1,4,-1,6,-1,8,-1, %T A354718 10,-1,4,5,-1,5,6,-1,8,11,-1,-1,7,-1,5,-1,6,-1,9,-1,11,-1,6,7,8,11,-1, %U A354718 7,8,9,10,-1,7,-1,-1,-1,7,-1,9,-1,-1,-1,10,11,8,9 %N A354718 a(n) is the smallest number b such that n, written in base 10 and interpreted as a base-b number, is a prime (or -1 if no such base exists). %C A354718 The minimum base considered is one greater than the greatest digit, i.e., max_digit(n) = d requires a base > d. E.g., a(17)=10, even though "base 4" 4*1 + 1*7 = 11 is prime. %e A354718 a(14) = 7, because 14_7 = 7*1 + 1*4 = 11, which is prime, but both 14_6 = 10 and 14_5 = 9 are nonprime (and the digit 4 requires a base b > 4). %e A354718 a(101) = 2, because 2^2*1 + 2*0 + 1*1 = 5, which is prime. %e A354718 a(24) = -1, because the digits 2 and 4 share GCD 2, so there is no base b in which 24_b is prime (because 24_b is divisible by 2 in any base b). %e A354718 a(100) = -1, because in any base b, 100_b = b^2, which cannot be prime. %e A354718 a(112) = -1, because for any base b, b^2 + b + 2 is even (i.e., divisible by 2). %o A354718 (Python) %o A354718 # Self-explanatory %o A354718 def is_prime(n): %o A354718 return not (n < 2 or any(n % x == 0 for x in range(2, int(n ** 0.5) + 1))) %o A354718 # Evaluate an intish string in a given base %o A354718 def atoi_base(s, b): %o A354718 out = 0 %o A354718 for i in range(len(s)): %o A354718 d = s[-1-i] %o A354718 out += (b**i)*int(d) %o A354718 return out %o A354718 # Constants %o A354718 NUM_TERMS = 200 # Number of terms to generate %o A354718 MAX_VALUE = 999 # Maximum base to consider before saying "no base will do this" %o A354718 NUL_RESULT = -1 # Value returned when no valid base can be found %o A354718 # Main func %o A354718 def a(n): %o A354718 assert(n > 0) %o A354718 # Start with 1 ... 9 %o A354718 if n < 10: %o A354718 return n+1 if is_prime(n) else NUL_RESULT %o A354718 # Check all bases up to MAX_VALUE %o A354718 base = int(max(str(n))) + 1 %o A354718 while True: %o A354718 if base >= MAX_VALUE: %o A354718 return NUL_RESULT %o A354718 break %o A354718 elif is_prime(atoi_base(str(n), base)): %o A354718 return base %o A354718 break %o A354718 else: %o A354718 base += 1 %o A354718 for n in range(1, NUM_TERMS): %o A354718 print(a(n), end=', ') %K A354718 sign,base %O A354718 1,2 %A A354718 _Charles Paul_, Jun 03 2022