Упражнения на Java: создание и отображение первых 15 нарциссических десятичных чисел
Номера Java: упражнение 6 с решением
Напишите программу на Java для генерации и отображения первых 15 нарциссических десятичных чисел.
Нарциссическое десятичное число - неотрицательное целое число, n, которое равно сумме m-й степени каждой из цифр в десятичном представлении n, где m - количество цифр в десятичном представлении n.
- если n равно 153
- тогда m (количество десятичных цифр) равно 3
- имеем 1 3 + 5 3 + 3 3 = 1 + 125 + 27 = 153
- и поэтому 153 - это нарциссическое десятичное число.
Нарциссические числа в разных базах:
Последовательность начальных 10 нарциссических чисел начинается: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, ……
Начинается последовательность из 8 нарциссических чисел: 0, 1, 2, 3, 4, 5, 6, 7, 24, 64, 134, 205,….
Иллюстрированная презентация:
Пример решения:
Java-код:
// https://rosettacode.org/
public class Example6 {
public static void main(String[] args){
for(long n = 0, ctr = 0; ctr < 15; n++){
if(is_narc_dec_num(n)){
System.out.print(n + " ");
ctr++;
}
}
System.out.println();
}
public static boolean is_narc_dec_num(long n){
if(n < 0) return false;
String str1 = Long.toString(n);
int x = str1.length();
long sum_num = 0;
for(char c : str1.toCharArray()){
sum_num += Math.pow(Character.digit(c, 10), x);
}
return sum_num == n;
}
}
Пример вывода:
0 1 2 3 4 5 6 7 8 9 153 370 371 407 1634
Блок - схема:
Редактор кода Java:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на Java, чтобы найти число начальных чисел-кандидатов Лихреля и связанных чисел для n в диапазоне 1..10000 включительно. (С этим пределом итерации 500).
Далее: написать программу на Java для отображения первых 10 чисел lucus.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования