독립적 인 힘 = 285311670611) 12 =>

integer가 주어지면 부분 문자열로 포함 되는 1보다 큰 n최소 지수를 출력하십시오 .en^en

예를 들어,에 대한 25답이 있어야 2로서 25 ^ 2 = 625포함하는 25문자열로서, 그러나 대한 대답 13되어야이 10같은 13 ^ 10 = 137858491849때문에 10결과에 포함되는 최저 지수 인 13문자열로.

규칙

  • 표준 I / O 규칙
  • 표준 허점 적용
  • 바이트 단위의 최단 코드 승리
  • n 항상보다 큰 정수입니다 0

테스트 사례

1 => 2   (1 ^ 2 = 1)
2 => 5   (2 ^ 5 = 32)
3 => 5   (3 ^ 5 = 243)
4 => 3   (4 ^ 3 = 64)
5 => 2   (5 ^ 2 = 25)
6 => 2   (6 ^ 2 = 36)
7 => 5   (7 ^ 5 = 16807)
8 => 5   (8 ^ 5 = 32768)
9 => 3   (9 ^ 3 = 729)
10 => 2  (10 ^ 2 = 100)
11 => 11 (11 ^ 11 = 285311670611)
12 => 14 (12 ^ 14 = 1283918464548864)
13 => 10 (13 ^ 10 = 137858491849)
14 => 8  (14 ^ 8 = 1475789056)
15 => 26 (15 ^ 26 = 3787675244106352329254150390625)
16 => 6  (16 ^ 6 = 16777216)
17 => 17 (17 ^ 17 = 827240261886336764177)
18 => 5  (18 ^ 5 = 1889568)
19 => 11 (19 ^ 11 = 116490258898219)
20 => 5  (20 ^ 5 = 3200000)
25 => 2  (25 ^ 2 = 625)
30 => 5  (30 ^ 5 = 24300000)
35 => 10 (35 ^ 10 = 2758547353515625)
40 => 3  (40 ^ 3 = 64000)
45 => 5  (45 ^ 5 = 184528125)
50 => 2  (50 ^ 2 = 2500)
55 => 11 (55 ^ 11 = 13931233916552734375)
60 => 2  (60 ^ 2 = 3600)
65 => 17 (65 ^ 17 = 6599743590836592050933837890625)
70 => 5  (70 ^ 5 = 1680700000)
75 => 3  (75 ^ 3 = 421875)
80 => 5  (80 ^ 5 = 3276800000)
85 => 22 (85 ^ 22 = 2800376120856162211833149645328521728515625)
90 => 3  (90 ^ 3 = 729000)
95 => 13 (95 ^ 13 = 51334208327950511474609375)
100 => 2 (100 ^ 2 = 10000)

처음 1000 개의 답변을 생성하는 Python 스크립트



답변

펄 6 , 31 바이트

{$^a;first {$a**$_~~/$a/},2..*}

온라인으로 사용해보십시오!


답변

R , 69 44 바이트

function(n,i=2){while(!grepl(n,n^i))i=i+1;i}

익명의 기능. BigZ로 변환 i될 때 크게 작동합니다 n(TIO 참조). 주세페와 digEmAll을 가르쳐 주셔서 감사합니다!

온라인으로 사용해보십시오!


답변

파이썬 2 , 42 41 바이트

Ørjan Johansen 덕분에 -1 바이트 (반환 y)

f=lambda x,y=2:y*(`x`in`x**y`)or f(x,y+1)

온라인으로 사용해보십시오!

설명 / 비 골프

우리가 성공할 때까지 에서 시도하는 재귀 함수 :

2,3…
# Start recursion with y=2
def f(x,y=2):
    # If we succeed, we arrived at the desired y
    if `x` in `x**y`:
        return y
    # Else we try with next y
    else:
        return f(x, y+1)

온라인으로 사용해보십시오!


답변

자바 스크립트 (ES6 / Node.js),  41  40 바이트

@Shaggy 덕분에 1 바이트 절약

입력을 숫자 ( ) 또는 BigInt 리터럴로 사용합니다.

n<15

n=>(g=x=>`${x*=n}`.match(n)?2:-~g(x))(n)

온라인으로 사용해보십시오!


답변

APL (Dyalog Unicode) , 25 23 17 바이트

@Erik the Outgolfer 덕분에 -2 바이트

@ngn 덕분에 -6 바이트

코드를 사용자 정의하지 않아도 만드는 @ H.PWiz 덕분에 ⎕pp(인쇄 정밀도)

⊢⍟×⍣(∨/(⍕÷)⍷0⍕⊣)⍨

온라인으로 사용해보십시오!

⊢⍟×⍣(∨/(⍕÷)⍷0⍕⊣)⍨
  ×⍣(          )⍨ generates a geometric progression by repeatedly multiplying the argument
                   by its original value
     ∨/(⍕÷)⍷0⍕⊣   the progression stops when this function, applied between the new and the
                   last old member, returns true
         ÷        the original argument (ratio between two consecutive members)
                 formatted as a string
                 occurrences within...
            0    ...the formatted (with 0 digits after the decimal point)...
                 ...new member
     ∨/           are there any?
⊢⍟                use logarithm to determine what power of  we reached

답변


답변

Brachylog , 8 바이트

;.^s?∧ℕ₂

온라인으로 사용해보십시오!

설명

;.^         Input ^ Output…
   s?       …contains the Input as a substring…
     ∧      …and…
      ℕ₂    …the Output is in [2,+∞)