정수 유형 요소의 배열이 제공되고 작업은 두 숫자를 곱하여 형성된 최대 요인을 찾는 것입니다. 즉, 먼저 배열과 같은 계산 외적에 있는 숫자를 곱한 다음 해당 숫자의 요인을 계산하고 다음을 확인합니다. 모든 요소 중에서 최대 요소입니다.
입력
int arr[] = {3, 2, 10}
출력
Maximum factors formed by two numbers are: 8
설명
-
내부 외적 계산, 즉 3 * 2 =6, 3 * 10 =30, 2 * 10 =20
-
이제 6 -> 1, 2, 3, 6에 대한 인수를 계산합니다. 30 -> 1, 2, 3, 5, 6, 10, 15, 30; 20 -> 1, 2, 4,5, 10, 20.
-
6은 총 4개, 20개는 총 6개, 30개는 8개와 같이 요인의 개수가 최대인 숫자를 확인합니다. 따라서 두 숫자로 구성된 최대 인수는 8입니다.
입력
int arr[] = {1, 4, 6}
출력
Maximum factors formed by two numbers are: 8
설명
-
내부 외적 계산, 즉 1 * 4 =4, 1 * 6 =6, 4 * 6 =24
-
이제 4 -> 1, 2, 4에 대한 인수를 계산합니다. 6 -> 1, 2, 3, 6; 24 -> 1, 2, 3, 4, 6, 8, 12, 24.
-
요인의 개수가 최대인 수를 확인하십시오. 즉, 4는 총 3개, 6은 총 4개, 24개는 8개입니다. 따라서 두 숫자로 구성된 최대 인수는 8입니다.
아래 프로그램에서 사용된 접근 방식은 다음과 같습니다.
- 배열에 정수 요소 입력
- 최대값을 저장하기 위해 임시 변수를 배수로 큼
- 0에서 배열 길이까지 루프 i 시작
- 루프 내에서 0부터 배열 길이까지 다른 루프 j 시작
- a[i]가 a[j]와 같지 않은지 확인하고 그렇다면 a[i] * a[j]로 변수 배수를 설정하고 big
- 인 countFactor(다중) 함수
- 임시 변수를 int c =0으로 사용
- j에서 1까지 여러 값에 대한 루프 시작
- 여러 % j =0인지 확인
- 그런 다음 c를 1씩 증가
- 여러 % j =0인지 확인
- 반환 c
- 인 countFactor(다중) 함수
예시
public class BiggestFactor{ public static void main(String[] args){ int a[]={3,2,10}; int multiple=1; int big=1; for(int i=0;i<a.length-1;i++){ for (int j = 0; j < a.length; j++){ if(a[i]!=a[j]){ multiple=a[i]*a[j]; if(big<countFactor(multiple)) big=countFactor(multiple); } } } System.out.println(“Maximum factors formed by two numbers are: ” +big); } private static int countFactor(int i){ int c=0; for (int j = 1; j<=i; j++){ if(i%j==0){ c++; } } return c; } }
출력
Maximum factors formed by two numbers are: 8