나르시시즘 수

Narcissistic number

수 이론에서, 나르시시시즘적인[1][2] 숫자(독극적인 디지털 불변제(PPDI)라고도 알려져 있음),[3] 암스트롱 숫자[4](미카엘 F의 뒤에 있음)가 있다.암스트롱)[5] 또는 주어진 숫자 더하기 완벽한 숫자(+)[6] 각각 숫자 수의 검정력으로 상승된 자체 자릿수의 합이다.

정의

을(를) 자연수가 되게 하라.base > : 에 대한 나르시시시시시시시시즘 함수를 정의하여 다음과 같이 한다.

여기서 = b + {\}\ loor b

숫자의 각 자릿수 값이다.만약 Fb(n))n{\displaystyle F_{b}(n)=n는 발생하는 자연수 n{n\displaystyle}은 자기애 수 Fb{\displaystyle F_{b}에 그것이 고정된 포인트},}. 그 자연수 0≤ n<>모든 b{\displaystyle b}에 b{\displaystyle 0\leq n<, b}것들은 사소한 자기애 숫자, 모든. 다른나르시시시즘 수치는 비독점적 나르시시즘적 숫자다.

예를 들어 = 의 숫자 은 나르시시즘 인데,k = 3{\ +3 + 5^{33^{3}}}}{^{3

A natural number is a sociable narcissistic number if it is a periodic point for , where for a positive integer (here is the 의 반복으로 p 주기를 형성한다 나르시시시시즘 p = {\}을를) 가진 사교적인 나르시시시시시시시시시시시시즘 번호로, 우호적인 나르시시시시시시시시시시시시시시시시시시시시시즘 p = p = 2이다

모든 자연수 은(는) 베이스에 관계없이 F 에 대한 사전 주기적 지점이다이는 주어진 숫자 카운트 n 의 최소 가능 값은 - 1 b1 최대 가능 값은 k -1 이고 나르시즘 함수 값은 이기 때문이다.( )= ( b- ) Thus, any narcissistic number must satisfy the inequality . Multiplying all sides by , we get 또는 동등하게 - ) - 1 이후 최대값 (- 1) b 의미( b-1 ) {\의 지수적 특성 때문 b 선형성 k ( ) 항상.따라서 나르시시시즘적인 숫자의 수가 한정되어 있으며, 어떤 자연적인 숫자도 주기적인 이나 {\보다 적은 고정된 점까지 도달하도록 보장되어 있어 주기 이전의 지점이 된다 을(를) 10으로 설정하면 베이스 10에서 가장 큰 나르시시시시시즘 숫자는 미만이어야 함을 알 수 있다[1]

() 이(가) 고정 지점에 도달하는 데 필요한 반복 의 수는 나르시시시시즘 함수의 지속성 n이며 고정 지점에 도달하지 않는 경우 정의되지 않은 것이다.

A base has at least one two-digit narcissistic number if and only if is not prime, and the number of two-digit narcissistic numbers in base equals , where (는) 의 양분자 수입니다

9의 배수가 아닌 모든 b 3에는 적어도 세 자리수의 나르시시시즘 번호가 있다.그렇지 않은 베이스는

2, 72, 90, 90, 108, 153, 270, 423, 450, 531, 558, 630, 648, 738, 1044, 1098, 1125, 1224, 1287, 1440, 1566, 1620, 1800, 1935, (OEIS에서의 연속 A248970)

베이스 10에는 89개의 나르시시시즘 숫자에 불과하며, 그 중 가장 큰 숫자는 다음과 같다.

115,132,219,018,763,992,565,095,597,973,971,522,401

39자리로[1]

특정 b에 대한 Fb 나르시시즘 수 및 주기

모든 숫자는 b 로 표시된다 '#'는 알려진 각 유한 시퀀스의 길이다.

나르시시즘 수 # 사이클 OEIS 시퀀스
2 0, 1 2
3 0, 1, 2, 12, 22, 122 6
4 0, 1, 2, 3, 130, 131, 203, 223, 313, 332, 1103, 3303 12 A010344A010343
5 0, 1, 2, 3, 4, 23, 33, 103, 433, 2124, 2403, 3134, 124030, 124031, 242423, 434434444, ... 18

1234 → 2404 → 4103 → 2323 → 1234

3424 → 4414 → 11034 → 20034 → 20144 → 31311 → 3424

1044302 → 2110314 → 1044302

1043300 → 1131014 → 1043300

A010346
6 0, 1, 2, 3, 4, 5, 243, 514, 14340, 14341, 14432, 23520, 23521, 44405, 435152, 5435254, 12222215, 555435035 ... 31

44 → 52 → 45 → 105 → 330 → 130 → 44

13345 → 33244 → 15514 → 53404 → 41024 → 13345

14523 → 32253 → 25003 → 23424 → 14523

2245352 → 3431045 → 2245352

12444435 → 22045351 → 30145020 → 13531231 → 12444435

115531430 → 230104215 → 115531430

225435342 → 235501040 → 225435342

A010348
7 0, 1, 2, 3, 4, 5, 6, 13, 34, 44, 63, 250, 251, 305, 505, 12205, 12252, 13350, 13351, 15124, 36034, 205145, 1424553, 1433554, 3126542, 4355653, 6515652, 125543055, ... 60 A010350
8 0, 1, 2, 3, 4, 5, 6, 7, 24, 64, 134, 205, 463, 660, 661, 40663, 42710, 42711, 60007, 62047, 636703, 3352072, 3352272, ... 63 A010354A010351
9 0, 1, 2, 3, 4, 5, 6, 7, 8, 45, 55, 150, 151, 570, 571, 2446, 12036, 12336, 14462, 2225764, 6275850, 6275851, 12742452, ... 59 A010353
10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407, 1634, 8208, 9474, 54748, 92727, 93084, 548834, ... 89 A005188
11 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, 56, 66, 105, 307, 708, 966, A06, A64, 8009, 11720, 11721, 12470, ... 135 A0161948
12 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, 25, A5, 577, 668, A83, 14765, 938A4, 369862, A2394A, ... 88 A161949
13 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, 14, 36, 67, 77, A6, C4, 490, 491, 509, B85, 3964, 22593, 5B350, ... 202 A0161950
14 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, 136, 409, 74AB5, 153A632, ... 103 A0161951
15 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, C, D, E, 78, 88, C3A, D87, 1774, E819, E829, E829, 7995C, 829BB, A36BC, ... 203 A0161952
16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 156, 173, 208, 248, 285, 4A5, 5B0, 5B1, 60B, 64B, 8C0, 8C1, 99A, AA9, AC3, CA8, E69, EA0, EA1, B8D2, 13579, 2B702, 2B722, 5A07C, 5A47C, C00E0, C00E1, C04E0, C04E1, C60E7, C64E7, C80E0, C80E1, C84E0, C84E1, ... 294 A161953

음의 정수로 확장

나르시시시즘 숫자는 각 정수를 나타내기 위해 부호화된 숫자 표현을 사용함으로써 음의 정수로 확장될 수 있다.

프로그래밍 예제

파이톤

아래의 예는 위 정의에 기술된 나르시시즘 함수를 구현하여 파이썬에서 나르시시즘 함수와 사이클을 검색한다.

반항하다 피디프(x, b):     y = x     digit_count = 0     하는 동안에 y > 0:         digit_count = digit_count + 1         y = y // b     총계 = 0     하는 동안에 x > 0:         총계 = 총계 + 포우(x % b, digit_count)         x = x // b     돌아오다 총계  반항하다 ppdif_cycle(x, b):     보이는 = []     하는 동안에 x 아닌  보이는:         보이는.덧셈을(x)         x = 피디프(x, b)     사이클을 타다 = []     하는 동안에 x 아닌  사이클을 타다:         사이클을 타다.덧셈을(x)         x = 피디프(x, b)     돌아오다 사이클을 타다 

다음의 파이톤 프로그램은 입력된 정수가 나르시시즘/암스트롱 숫자인지 여부를 결정한다.

반항하다 no_of_message(숫자):     i = 0     하는 동안에 숫자 > 0:         숫자 //= 10         i+=1      돌아오다 i  반항하다 required_sum(숫자):     i = no_of_message(숫자)     s = 0          하는 동안에 숫자 > 0:         숫자를 매기다 = 숫자 % 10         숫자 //= 10         s += 포우(숫자를 매기다, i)              돌아오다 s   숫자 = 인트로(입력하다("숫자 입력:")) s = required_sum(숫자)       만일 s == 숫자:     인쇄하다("암스트롱 넘버") 다른:     인쇄하다("암스트롱 번호 아님") 

자바

다음의 자바 프로그램은 입력된 정수가 나르시시즘/암스트롱 숫자인지 여부를 결정한다.

수입하다 java.util.스캐너;  공중의 계급 암스트롱 넘버 {     공중의 정태의 공허하게 하다 본래의 ()     {         스캐너  = 새로운 스캐너 (시스템.);         시스템.밖으로.인쇄하다("숫자 입력: ");         인트로 숫자 = .넥스트인트();         곱절로 하다 합계를 내다 = required_sum(숫자);         만일 (숫자 == 합계를 내다)             시스템.밖으로.인쇄하다("암스트롱 넘버");         다른              시스템.밖으로.인쇄하다("암스트롱 넘버가 아니다");         }          공중의 정태의 인트로 no_of_message(인트로 숫자)     {          인트로 i;         을 위해 ( i = 0; 숫자 > 0; i++)             숫자 /= 10;         돌아오다 i;           }          공중의 정태의 곱절로 하다 required_sum(인트로 숫자)     {            인트로 i = no_of_message(숫자);         곱절로 하다 합계를 내다 = 0;         하는 동안에 (숫자 > 0)         {             인트로 숫자를 매기다 = 숫자 % 10;             숫자/=10;             합계를 내다 += 수학.포우(숫자를 매기다,i);         }         돌아오다 합계를 내다;     } 

C#

다음의 C# 프로그램은 입력된 정수가 나르시시즘/암스트롱 숫자인지 여부를 결정한다.

사용. 시스템;  공중의 계급 프로그램 {     공중의 정태의 공허하게 하다 메인()     {         콘솔.WriteLine("숫자 입력:");         인트로 가치를 매기다 = 인트로.파스(콘솔.리딩라인());          만일 (가치를 매기다 == 필수 정보(가치를 매기다))         {             콘솔.WriteLine("암스트롱 넘버");         }         다른          {             콘솔.WriteLine("암스트롱 넘버가 아니다");         }     }      사유의 정태의 인트로 백작디지트(인트로 숫자)     {         인트로 i = 0;          을 위해 (;숫자 > 0; ++i) 숫자 /= 10;          돌아오다 i;         }      사유의 정태의 인트로 필수 정보(인트로 숫자)     {         인트로 수를 세다 = 백작디지트(숫자);          인트로 합계를 내다 = 0;         하는 동안에 (숫자 > 0)         {             합계를 내다 += (인트로)수학.파우(숫자 % 10, 수를 세다);             숫자 /= 10;         }          돌아오다 합계를 내다;     } } 


C

다음의 C 프로그램은 입력된 정수가 나르시시즘/암스트롱 숫자인지 여부를 결정한다.

#include <stdio.h> #include <stdlib.h> #include <stdbool.h>  인트로 getNumberOfDigits(인트로 n); 바가지 긁다 IsarmstrongNumber(인트로 후보);  인트로 본래의() {     인트로 userNumber = 0;     활자화하다("암스트롱 번호인지 확인할 번호를 입력하십시오. ");     스캔하다("%d", &userNumber);     활자화하다(" %d이 암스트롱 번호인가?: %s\n", userNumber,  IsarmstrongNumber(userNumber) ? "진짜" : "거짓말");     돌아오다 0; }   바가지 긁다 IsarmstrongNumber(인트로 후보) {     인트로 디지트 수 = getNumberOfDigits(후보);     인트로 합계를 내다 = 0;     을 위해(인트로 i = 후보; i != 0; i /= 10)     {      인트로 숫자 = i % 10;      인트로 n = 1;      을 위해(인트로 j = 0; j < 디지트 수; j++)   {    n *= 숫자;   }      합계를 내다 += n;     }     돌아오다 합계를 내다 == 후보; }  인트로 getNumberOfDigits(인트로 n) {     인트로 합계를 내다 = 0;     하는 동안에(n != 0)     {         n /= 10;         ++합계를 내다;     }     돌아오다 합계를 내다; } 

루비

다음의 루비 프로그램은 입력된 정수가 나르시시즘/암스트롱의 숫자인지 여부를 결정한다.

반항하다 나르시시즘?(가치를 매기다) #1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153   n값 = []   nnum = 가치를 매기다.to_s   nnum.각각의 하다  숫자      n값 << 숫자.to_i     종지부를 찍다   합계를 내다 = 0   i = 0   하는 동안에 합계를 내다 <= 가치를 매기다     nsum = 0     n값.every_with_index 하다  숫자,idx        nsum += 숫자 ** i     종지부를 찍다     만일 nsum == 가치를 매기다       돌아오다 진실의     다른       i += 1       합계를 내다 += nsum     종지부를 찍다   종지부를 찍다 돌아오다 거짓의 종지부를 찍다 

참고 항목

참조

  1. ^ a b c Weisstein, Eric W. "Narcissistic Number". MathWorld.
  2. ^ 완벽한 PluPerfect Digital Invariants Scott Moore가 웨이백 머신보관한 2007-10-10
  3. ^ 하비 하인즈(Harvey Heinz)의 PPDI(Armstrong) 번호
  4. ^ 암스트롱 번호: Dik T.겨울
  5. ^ 라이오넬 데이멜의 웹 로그
  6. ^ (OEIS에서 시퀀스 A005188)
  • Joseph S. Madachy, Mathical on Bacation, Thomas Nelson & Sons Ltd. 1966, 163-175페이지.
  • 로즈, 콜린(2005), 급진적 나르시시즘적 숫자, 레크리에이션 수학 저널, 33(4), 2004-2005 페이지 250-254.
  • Walter Schneider의 완벽한 디지털 불변제

외부 링크