How to resolve the algorithm Narcissistic decimal number step by step in the Oforth programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Narcissistic decimal number step by step in the Oforth programming language

Table of Contents

Problem Statement

A   Narcissistic decimal number   is a non-negative integer,

n

{\displaystyle n}

,   that is equal to the sum of the

m

{\displaystyle m}

-th   powers of each of the digits in the decimal representation of

n

{\displaystyle n}

,   where

m

{\displaystyle m}

is the number of digits in the decimal representation of

n

{\displaystyle n}

.

Narcissistic (decimal) numbers are sometimes called   Armstrong   numbers, named after Michael F. Armstrong. They are also known as   Plus Perfect   numbers.

Generate and show here the first   25   narcissistic decimal numbers.

Note:

0

1

= 0

{\displaystyle 0^{1}=0}

,   the first in the series.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Narcissistic decimal number step by step in the Oforth programming language

Source code in the oforth programming language

: isNarcissistic(n)
| i m |
   n 0 while( n ) [ n 10 /mod ->n swap 1 + ] ->m
   0 m loop: i [ swap m pow + ] == ;
 
: genNarcissistic(n)
| l |
   ListBuffer new dup ->l
   0 while(l size n <>) [ dup isNarcissistic ifTrue: [ dup l add ] 1 + ] drop ;

  

You may also check:How to resolve the algorithm Binary search step by step in the ALGOL 68 programming language
You may also check:How to resolve the algorithm Circular primes step by step in the Forth programming language
You may also check:How to resolve the algorithm Even or odd step by step in the AWK programming language
You may also check:How to resolve the algorithm The Twelve Days of Christmas step by step in the LOLCODE programming language
You may also check:How to resolve the algorithm Sailors, coconuts and a monkey problem step by step in the Python programming language