배열의 최대값을 찾기 위해 Java에서 재귀 함수를 작성합니다.
Java를 사용하여 재귀적으로 배열의 최대값을 얻는 방법
public static void main(String[] rags){
int [] 목표 = 새로운 int[100];
int 포인트 = 0;
//...여기서 배열을 초기화하세요
int 최대 = 목표[0];
max = getMax(최대, 포인트, 목표);
//...기타 처리
}
//재귀적 방법
public int getMax(int max,int point,int[] aim){
if(point==aim.length) //임계값
반품 최대치;
//임계값에 도달하지 못한 경우 최대값을 취하여 재귀를 수행합니다
max = 최대 >= 목표[포인트] ? max : 목표[포인트];
return getMax(max,point+1,aim);
}
Java에서 이진 검색의 재귀 알고리즘을 구현하는 방법
공개 클래스 이진 재귀 검색 {
public static void main(String[] args) {
//배열을 정의하세요. 이진 검색 배열은 순서가 지정된 배열이어야 합니다!
int[] arr = { 1, 3, 5, 7, 9, 11, 13, 15, 17 };
//검색 후 반환 값을 수락합니다. 인덱스 값, 그렇지 않은 경우 -1입니다.
//찾기 요소 테스트: 9
int a=바이너리(arr, 9, 0, arr.length - 1);
System.out.println("검색 중인 숫자의 인덱스 위치: "+a);
}
//매개변수 목록은 검색할 배열, 검색할 숫자, 헤드 인덱스, 테일 인덱스입니다!
공용 정적 int 바이너리(int[] arr, int key, int star, int end)//recursion
{
//들어올 때마다 중간 인덱스 값을 생성!
int mid = (별 + 끝) / 2;
//검색 중인 숫자가 머리 또는 꼬리보다 작거나 머리 인덱스가 꼬리 인덱스보다 큰 경우 해당 숫자가 없으며 -1이 반환됨을 의미합니다.
if (key arr[end] || 별표 > end) {
반품 -1;
}
//가운데 값이 검색 중인 숫자보다 작다면 헤더 인덱스를 다시 정의하고 중간 +1 위치로 이동하여 숫자의 절반을 걸러냅니다!
if (arr[mid]
//재귀를 시작하세요!
바이너리 반환(arr, key, mid + 1, end);
//그렇지 않고 중간 값이 검색 중인 숫자보다 큰 경우 꼬리 인덱스를 중간 -1 위치로 이동하고 숫자의 절반을 필터링하세요!
} else if (arr[mid] > key) {
//재귀를 시작하세요!
반환 바이너리(arr,key,star,mid - 1);
} 그 외 {
//찾지 못하면 색인으로 돌아갑니다!
중반납;
}
}
}
Java의 재귀가 실행되는 방식과 순서가 실행되는 방식
factest(8)는 Factest 함수를 입력합니다. if(n==1) return 1; // 설정되지 않은 경우 else return n*factest(n-1) // 반환 값은 8*factest(7)입니다. )
factest(7)는 Factest 함수를 입력합니다. if(n==1) return 1 // 확립되지 않은 경우 else를 실행합니다
else return n*factest(n-1); // 반환 값은 7*factest(6)
…
N=1까지 이때 if(n==1) return 1; // 성립되면 반환값은 1, 즉 1!=1
그런 다음 Factest(2)의 반환 값을 계산합니다. 2*factest(1) = 2
그런 다음 계속해서 Factest(3)의 반환 값을 계산합니다. 3*factest(2) = 6
... N=8까지,factest(8) = 8*factest(7) = 40320
을 얻습니다.재귀를 사용하여 JAVA에서 이 문제를 해결하는 방법은 무엇입니까? Master
작성하려는 Java 재귀 프로그램은 다음과 같습니다.
java.util.Scanner 가져오기;
공개 수업 GGG {
public static void main(String[] args) {
int N = 0;
Scanner sc=new Scanner(System.in);
int num=sc.nextInt();
for(int n=0;n
N=sc.nextInt();
int a[]=new int[N];
for(int i=0;i
a[i]=sc.nextInt();
}
System.out.print("case"+(n+1)+":");
프로세스(a,0);
System.out.println();
}
}
private static void process(int[] a, int n) {
if(n==0){
if(isPrime(a[n+1]))
System.out.print(1+"");
그밖에
System.out.print(0+"");
}else if(n==a.length-1){
if(isPrime(a[n-1]))
System.out.print(1+"");
그밖에
System.out.print(0+"");
반품;
}그밖에{
if(isPrime(a[n-1])&isPrime(a[n+1]))
System.out.print(2+"");
else if(isPrime(a[n-1])||isPrime(a[n+1]))
System.out.print(1+"");
그밖에
System.out.print(0+"");
}
프로세스(a,n+1);
}
public static boolean isPrime(int num) {
그래요;
for(i=2;i
if(num%i==0)
휴식;
}
if(i==num){
참을 반환합니다;
}
거짓 반환;
}
}실행 결과:
2
5
5 7 2 9 13
케이스 1:1 2 1 2 0
3
10 4 5
케이스 2:0 1 0
위 내용은 배열의 최대값을 찾기 위해 Java에서 재귀 함수를 작성합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











증기 구름 오류는 여러 가지 이유로 인해 발생할 수 있습니다. 게임을 원활하게 플레이하려면 게임을 시작하기 전에이 오류를 제거하기 위해 몇 가지 조치를 취해야합니다. Php.cn Software는이 게시물에서 가장 유용한 정보뿐만 아니라 몇 가지 최선의 방법을 소개합니다.

"WMI (Windows Metadata and Internet Services)와의 연결을 설정할 수 없음"을 볼 수 있습니다. 이벤트 뷰어의 오류. Php.cn 의이 게시물은 Windows 메타 데이터 및 인터넷 서비스 문제를 제거하는 방법을 소개합니다.

OneDrive는 Microsoft의 온라인 클라우드 스토리지 서비스입니다. 때때로, 당신은 OneDrive가 클라우드에 사진을 업로드하지 못하는 것을 발견 할 수 있습니다. 같은 보트에 있다면 Php.cn 소프트웨어 에서이 게시물을 계속 읽으려면 효과적인 솔루션을 얻으십시오!

KB5035942 업데이트 문제 - 충돌 시스템은 일반적으로 사용자에게 발생합니다. 가려진 사람들은 충돌 시스템, 설치 또는 건전한 문제와 같은 문제에서 벗어날 수있는 방법을 찾기를 희망합니다. 이러한 상황을 목표로,이 게시물은 Php.cn Wil이 게시했습니다

컴퓨터에 PC App Store라는 프로그램이 있고 의도적으로 설치되지 않은 경우 PC가 맬웨어에 감염 될 수 있습니다. Php.cn 의이 게시물은 PC 앱 스토어 맬웨어를 제거하는 방법을 소개합니다.

형제 : 두 아들의 이야기가 시작되지 않습니까? 만남 형제 : 두 아들의 이야기가 검은 색 스크린을 리메이크합니까? 여기서 Php.cn 의이 게시물은이 문제를 해결하는 데 도움이되는 테스트 된 솔루션을 제공합니다.

Chris Titus Tech에는 Windows Utility라는 도구가있어 깨끗한 시스템을 설치하기 위해 혼란스러운 Windows 11/10 ISO를 쉽게 만들 수 있습니다. Php.cn은 Chris Titus 도구를 사용 하여이 작업을 수행하는 방법에 대한 전체 안내서를 제공합니다.

Windows 10/11에서 NVIDIA 드라이버와 같은 그래픽 드라이버를 설치 한 후 검은 색 화면을 만난 적이 있습니까? 이제 Php.cn 의이 게시물에서 NVIDIA 드라이버 업데이트 블랙 스크린에 대한 솔루션을 시도 할 가치가 있습니다.
