Упражнения на Java: найдите и напечатайте первые 10 счастливых чисел
Номера Java: Упражнение-9 с решением
Напишите программу на Java, чтобы найти и напечатать первые 10 счастливых чисел.
Счастливое число: начиная с любого положительного целого числа, замените число на сумму квадратов его цифр и повторяйте процесс до тех пор, пока число не станет равным 1, или пока оно не зацикливается в цикле, который не содержит 1.
Пример: 19 счастливое число
1 2 + 9 2 = 82
8 2 + 2 2 = 68
6 2 + 8 2 = 100
1 2 + 0 2 + 0 2 = 1
Иллюстрированная презентация:
Пример решения:
Java-код:
import java.util.HashSet;
public class Example9 {
public static void main(String[] args){
System.out.println("First 10 Happy numbers:");
for(long num = 1,count = 0;count<8;num++){
if(happy_num(num)){
System.out.println(num);
count++;
}
}
}
public static boolean happy_num(long num){
long m = 0;
int digit = 0;
HashSet<Long> cycle = new HashSet<Long>();
while(num != 1 && cycle.add(num)){
m = 0;
while(num > 0){
digit = (int)(num % 10);
m += digit*digit;
num /= 10;
}
num = m;
}
return num == 1;
}
}
Пример вывода:
Первые 10 счастливых номеров: 1 7 10 13 19 23 28 31
Блок - схема:
Редактор кода Java:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на Java, чтобы распечатать первые 10 каталонских чисел, извлекая их из треугольника Паскаля.
Далее: Напишите программу на Java, чтобы проверить, является ли данное число счастливым или несчастным числом.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования