кодесурса

Упражнения на Java: найдите все нарциссические числа от 1 до 1000

script1adsense2code
script1adsense3code

Java-номера: упражнение 23 с решением

Напишите программу на Java, чтобы найти все нарциссические числа от 1 до 1000.

В теории чисел нарциссическое число - это число, которое представляет собой сумму своих собственных цифр, каждая из которых возводится в степень числа цифр.
Например:
153 = 1 3 + 5 3 + 3 3

Иллюстрированная презентация:


Пример решения:

Java-код:

import java.util.LinkedList;
public class Example23  {
    public static void main(String args[])
    {
        for (int i = 1; i < 1000; i++) {
            int n = i;
            LinkedList<Integer> data = new LinkedList<>();
            while (n > 0) {
                data.push( n % 10 );
                n = n / 10;
            }
            int n1 = 0;
            for(Integer num : data) {
                n1 += Math.pow(num, data.size());
            }
            if(i == n1) {
                System.out.println(i);
            }
        }
    }
}

Пример вывода:

 1                                                                                                 
2                                                                                                 
3                                                                                                 
4                                                                                                 
5                                                                                                 
6                                                                                                 
7                                                                                                 
8                                                                                                 
9                                                                                                 
153                                                                                                 
370                                                                                                 
371                                                                                                 
407 

Блок - схема:

«Блок-схема:

Редактор кода Java:

Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите программу, чтобы проверить, является ли число числом Мерсенна или нет.
Далее: Напишите программу на Java, чтобы проверить, является ли число палиндромом или нет.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code