내 지수 잠재력은 무엇입니까?


14

양의 정수 MN 지수 전위 를 완벽한 N 제곱 인 M N 의 접두사 수로 정의합니다 .

정수의 접두사는 10의 숫자로 해석되는 첫 번째 숫자로 시작하는 연속 된 모든 자릿수의 하위 시퀀스입니다. 예를 들어, 2744 의 접두사 는 2 , 27 , 2742744 입니다.

접두어 P가 완벽하다 N의 정수가 존재하는 경우 - 힘 K 되도록 K N = P를 . 예를 들어 813 4 = 81 이므로 완벽한 4 제곱 입니다.


두 개의 엄격하게 양의 정수 MN이 주어지면 , 위 정의에 따라 MN 지수 전위를 계산하십시오 .

예를 들어, 2 의 -exponential 가능성이 133 있기 때문에 13 2169 , 및 1 , 16169 모두 완벽한 사각형입니다.

테스트 사례

당연히, 출력은 거의 항상 아주 작을 것입니다. 왜냐하면 전력은 ... 음 ... 기하 급수적으로 증가하는 기능과 여러 개의 완벽한 전력 접두사를 갖는 것은 드문 일입니다.

M, N     -> Output

8499, 2  -> 1
4,    10 -> 2
5,    9  -> 2
6,    9  -> 2
13,   2  -> 3

안녕하세요, : (4, 10)의 출력이 2가 아닌 1은 ​​어떻습니까? 4의 힘 10은 1048576이기 때문에 1은 완전한 힘이지만 10은 아닙니다
Ali ISSA

@AliISSA Hi,에 대한 출력 4, 102입니다 . 1 은 완벽한 10- 전력이고 1048576 또한 완벽한 10- 전력 이기 때문 입니다 ( 10 , 104 , 1048 , 10485104857 은 아님). 따라서 2 개의 유효한 접두사가 있으므로 출력은 2입니다.
Mr. Xcoder

답변:


10

Brachylog , 12 바이트

{^a₀.&b~b^}ᶜ

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

설명

{^a₀.&b~b^}ᶜ
{         }ᶜ  Count the number of ways the following can succeed:
  a₀            A prefix of
 ^                the first {input} to the power of the second {input}
    .&          produces the same output with the same input as
       ~b         any number
         ^        to the power of
      b           all inputs but the first (i.e. the second input)

6

젤리 , 10 바이트

*DḌƤÆE%Ḅċ0

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

작동 원리

*DḌƤÆE%Ḅċ0  Main link. Left argument: m. Right argument: n.

*           Compute m**n.
 D          Generate its decimal digits.
  ḌƤ        Convert prefixes back to integers.
    ÆE      Get the exponents of each prefix's prime factorization.
      %     Take all exponents modulo n.
            For a perfect n-th power, all moduli will be 0.
       Ḅ    Convert from binary to integer, mapping (only) arrays of 0's to 0.
        ċ0  Count the zeroes.

3

하스켈 , 56 바이트

0%n=0
x%n=sum[1|t<-[1..x],t^n==x]+div x 10%n
m#n=(m^n)%n

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

반복하여 접두사를 산술적으로 추출합니다 \x->div x 10. 마지막 라인 포인트 프리를 표현하려고 시도했지만 더 짧은 표현을 찾지 못했습니다.






1

펄 6 , 40 바이트

{1+(^$^m X**$^n).grep({$m**$n~~/^$^p/})}

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


&foo변수에 Callable을 할당하면 서브 루틴처럼 포함 foo( 'bar' )하거나 foo 'bar'포함 할 필요없이 변수를 호출 할 수 있습니다 &. 나는 당신이 &say(&f(|$_))( say어떤 식 으로든 특별 하지 않다)로 그것을 쓰지 않았다는 것을 의미합니다
Brad Gilbert b2gills

@ BradGilbertb2gills 저는 코드 골프에 Perl 6 만 사용하고 배울 점이 많으므로 팁을 주셔서 감사합니다.
nwellnhof

0

젤리 , 14 바이트

*DḌƤ*İ}ær⁵%1¬S

온라인으로 사용해보십시오! 또는 테스트 스위트를 참조하십시오

작동 원리

*DḌƤ*İ}ær⁵%1¬S - Main link. Arguments: n, m (integers)  e.g. 13, 2
*              - Power. Raise x to the power y               169
 D             - Convert to a list of digits                 [1 6 9]
   Ƥ           - Convert each Ƥrefix
  Ḍ            - Back to an integer                          [1 16 169]
     İ         - Calculate the İnverse of
      }        - The right argument                          0.5
    *          - Raise each element to that power            [1 4 13]
       ær⁵     - Round each to 10 ** -10                     [1 4 13]
               - to remove precision errors
          %1   - Take the decimal part of each               [0 0 0]
            ¬  - Logical NOT each                            [1 1 1]
             S - Sum                                         3






당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.