Wednesday, 6 September 2017

java - is armstrong number

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.Arrays;
import java.util.stream.IntStream;

public class _Math {
    
    static int[] armstrong_number_generator(int min, int max){
        return IntStream.rangeClosed(min, max).filter(_Math::is_armstrong_number).toArray();
    }
    /**
     * 
     * @param num
     * @return
     */
    static boolean is_armstrong_number(int num ){
        if(num < 10 && num >= 0)
            return true;

        int[] nums = digits_in_number(num);

        return num == IntStream.of(nums).mapToDouble(i -> Math.pow(i, nums.length)).sum();
    } 
}

styled using hilite.me

No comments:

Post a Comment