Упражнения на Java: найдите все нарциссические числа от 1 до 1000
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 программирования
disqus2code