행복한 숫자는 0이 아닌 양의 정수입니다. 모든 숫자의 제곱의 합을 구하면 숫자가 1(일)이 될 때까지 이 과정을 반복하세요. 그렇지 않으면 불행한 숫자 또는 슬픈 숫자라고 합니다. 그래서 이번 글에서는 자바에서의 행복한 숫자에 대해 자세히 다루겠습니다.
광고
이 카테고리에서 인기 있는 강좌
JAVA MASTERY - 전문 분야 | 78 코스 시리즈 | 15가지 모의고사
행복한 숫자의 예는 1, 7, 10, 13, 19, 23, 28, 31, 32 등입니다.
Java에서 행복한 숫자 뒤에 숨은 논리:
Example: 23 is a Happy Number or Not. |
Example: 11 is a Happy Number or Not. |
Step1: 22 + 32 = 13 |
Step1: 12 + 12 = 2 |
Step2: 12 + 32 = 10 |
Step2: 22 = 4 |
Step3: 12 + 02 =1 |
|
Output: 1(one), So 23 is a Happy number. |
Output: 4(four), So 11 is an Unhappy number. |
예:
23은 행복한 숫자인가요?
예:
11은 행복한 숫자인가요?
1단계:
22 + 32 = 13
1단계: 12 + 12 = 2
2단계: 1
2 + 3
2 = 10
2단계:
22 = 4
3단계: 12 + 02 =1
출력: 1(1)이므로 23은 행복한 숫자입니다.
출력:
4(4)이므로 11은 불행한 숫자입니다.
Java에서 행복한 숫자를 찾는 알고리즘
다음은 Java에서 행복한 숫자를 찾는 다양한 단계입니다.
1단계: 키보드에서 0이 아닌 양수를 입력하고 이를 number라는 변수에 할당합니다.
2단계: 주어진 숫자(%)를 10(%)으로 나누어 나머지를 계산합니다.
3단계: 남은 값의 제곱을 계산하여 변수 합계에 추가합니다.
4단계: 숫자(/)를 10으로 나눕니다.
5단계: 주어진 숫자의 모든 자릿수의 제곱의 합을 얻을 때까지 2~4단계를 반복합니다.
6단계: 최종 덧셈값은 변수 sum에 저장됩니다.
7단계:
result라는 변수를 정의하고 숫자 값으로 초기화합니다.
-
- 8단계:
- 결과 값이 1 또는 4가 아닌 경우 생성된 메소드를 호출하여 반복합니다.
9단계:
결과 값이 1로 설정되면 "행복한 숫자입니다"가 인쇄됩니다. 그렇지 않으면 “행복한 숫자가 아닙니다”라고 인쇄됩니다.
참고:
해피넘버에서는 어느 쪽이든 0을 삽입/삭제해도 숫자에 영향을 주지 않습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | import java.util.*;
public class HappyNumber
{
public static int checkHappyNumber (int number)
{
int rem = 0, sum = 0;
while (number > 0)
{
rem = number %10;
sum = sum+(rem*rem);
number = number/10;
}
return sum;
}
public static void main(String[] args)
{
Scanner sc = new Scanner (System.in);
System.out. print ( "Enter a non-zero Positive Number:" );
int number = sc.nextInt( );
int result = number;
while (result != 1 && result != 4)
{
result = checkHappyNumber(result);
}
if (result ==1)
{
System.out.println ( "It is a Happy Number" );
}
else
{
System.out.println ( " It is not a Happy Number" );
}
}
}
|
로그인 후 복사
하나의 숫자가 행복한 숫자가 되는 경우, 즉 일련의 숫자가 행복한 숫자입니다. 예를 들어 23은 행복한 숫자입니다. 이는 13,10,1과 같은 숫자의 순서가 행복한 숫자여야 함을 나타냅니다.
마지막으로 그 숫자의 제곱의 합이 4(4)가 되면 불행합니다.
예
다음은 Java에서 행복한 숫자를 확인하는 다양한 예입니다.
예시 #1
주어진 숫자가 해피 넘버인지 확인하기 위해 checkHappyNumber( ) 메소드를 생성합니다.
코드:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import java.util. *;
public class Main
{
public static Boolean checkHappyNumber(int number)
{
Set<Integer> digits= new HashSet<Integer>();
while (digits.add(number))
{
int result = 0;
while (number > 0)
{
result += Math.pow(number % 10, 2);
number = number/10;
}
number = result;
}
return number == 1;
}
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println ( "Enter a non-zero integer number :" );
int number = sc.nextInt();
System.out.println(checkHappyNumber(number)? "It is a Happy Number" : "It is an Unhappy Number" );
}
}
|
로그인 후 복사
출력:
예시 #2
주어진 숫자가 해피 넘버인지 확인하기 위해 checkHappyNumber( ) 메소드를 생성합니다.
코드:
출력
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | import java.util.*;
public class HappyNumber
{
public static int checkHappyNumber(int number)
{
int rem = 0,sum = 0;
while (number >0)
{
rem = number%10;
sum = sum + (rem*rem);
number = number/10;
}
return sum;
}
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out. print ( "Enter the Starting Number:" );
int i=sc.nextInt();
System.out. print ( "Enter the Ending Number:" );
int j=sc.nextInt();
System.out.println( "The happy numbers between " +i+ " and " +j+ " are: " );
for (int x=i ; x <= j; x++)
{
int result = x;
while (result != 1 && result != 4)
{
result = checkHappyNumber(result);
}
if (result == 1)
System.out. print (x + "," );
}
}
}
|
로그인 후 복사
:
예시 #3
숫자 범위 사이의 모든 숫자가 행복한 숫자인지 아닌지 확인하고 행복한 숫자 목록을 인쇄하기 위해 checkHappyNumber( ) 메서드를 만듭니다.
코드:
출력
:
결론
이 기사에서는 특히 Java의 Happy Numbers에 대해 논의하겠습니다. 그것은 매혹적인 숫자이다. 각 숫자의 제곱의 합을 구하고 같은 과정을 반복하여 최종적으로 1을 얻습니다. 모든 프로세스를 컴파일한 후 결과가 1 또는 4가 아닌 경우 불행한 숫자 또는 슬픈 숫자라고 합니다. 행복한 숫자와 마찬가지로 숫자가 불행하면 모든 시퀀스 멤버도 불행합니다. 다양한 Java 방법을 사용하여 Happy Numbers를 확인할 수 있는 다양한 Java 프로그램을 제공합니다.
위 내용은 자바의 행복한 숫자의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!