кодесурса

Упражнения на Java: найдите и напечатайте первые 10 счастливых чисел

script1adsense2code
script1adsense3code

Номера 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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code