


Écrivez une fonction récursive en Java pour trouver la valeur maximale d'un tableau
Comment utiliser Java pour atteindre la valeur maximale d'un tableau de manière récursive
public static void main(String[] rags){
int [] objectif = nouveau int[100];
int point = 0;
//....Initialisez le tableau ici
int max = objectif[0];
max = getMax(max,point,objectif);
//...Autres traitements
}
//Méthode récursive
public int getMax(int max,int point,int[] aim){
if(point==aim.length) //valeur critique
retour maximum ;
//Lorsque la valeur critique n'est pas atteinte, prenez la valeur maximale et effectuez une récursion
max = max >= objectif[point] ? max : objectif[point];
retour getMax(max,point+1,aim);
}
Comment implémenter l'algorithme récursif de recherche binaire en Java
recherche récursive binaire de classe publique {
public static void main(String[] args) {
//Définissez le tableau. Notez que le tableau de recherche binaire doit être un tableau ordonné !
int[] arr = { 1, 3, 5, 7, 9, 11, 13, 15, 17 };
//Accepter la valeur de retour après la recherche : valeur d'index, sinon, elle est -1;
//Test trouver l'élément : 9
int a=binary(arr, 9, 0, arr.length - 1);
System.out.println ("La position d'index du numéro recherché est : "+a);
}
//La liste des paramètres est la suivante : tableau à rechercher, numéro à rechercher, index de tête, index de queue !
public static int binaire (int[] arr, int key, int star, int end)//recursion
{
//Créez à chaque fois que vous entrez, la valeur de l'indice intermédiaire !
int mid = (étoile + fin) / 2;
//Si le nombre recherché est inférieur à la tête ou à la queue, ou si l'indice de tête est supérieur à l'indice de queue, cela signifie qu'un tel nombre n'existe pas et -1 est renvoyé ;
if (touche arr[fin] || étoile > fin) {
retour -1;
}
//Si la valeur médiane est inférieure au nombre recherché, redéfinissez l'index d'en-tête et déplacez-le vers la position médiane +1, en filtrant la moitié des nombres !
if (arr[mid]
//Démarrez la récursivité !
retour binaire(arr, clé, milieu + 1, fin);
//Sinon, si la valeur médiane est supérieure au nombre recherché, déplacez l'index de queue en position médiane -1 et filtrez la moitié des nombres !
} sinon si (arr[mid] > clé) {
//Démarrez la récursivité !
retour binaire (arr, clé, étoile, milieu - 1);
} autre {
//Si non, il est trouvé, retournez à l'index !
retour à mi-chemin ;
}
}
}
Comment la récursion de Java est exécutée et comment la commande est exécutée
factest(8) entre la fonction factest, if(n==1) return 1; // S'il n'est pas établi, exécutez else return n*factest(n-1); // La valeur de retour est 8*factest(7); )
factest(7) entre dans la fonction factest, if(n==1) return 1 // S'il n'est pas établi, exécutez else
else return n*factest(n-1); // La valeur de retour est 7*factest(6)
……
Jusqu'à N=1, à ce moment if(n==1) return 1; // Établi, la valeur de retour est 1, c'est-à-dire 1!=1
Calculez ensuite la valeur de retour de factest(2) comme suit : 2*factest(1) = 2
Continuez ensuite à calculer la valeur de retour de factest(3) : 3*factest(2) = 6
... Jusqu'à N=8, on obtient factest(8) = 8*factest(7) = 40320
Comment utiliser la récursivité pour résoudre ce problème en JAVA Master ?
Le programme récursif Java que vous souhaitez écrire est le suivant :
importer java.util.Scanner ;
cours public GGG {
public static void main(String[] args) {
int N = 0;
Scanner sc=nouveau Scanner(System.in);
int num=sc.nextInt();
pour(int n=0;n
N=sc.nextInt();
int a[]=nouveau int[N];
pour(int i=0;i
a[i]=sc.nextInt();
}
System.out.print("case"+(n+1)+":");
processus(a,0);
System.out.println();
}
}
processus vide statique privé (int[] a, int n) {
si(n==0){
if(isPrime(a[n+1]))
System.out.print(1+" ");
autre
System.out.print(0+"");
}sinon if(n==a.length-1){
if(isPrime(a[n-1]))
System.out.print(1+" ");
autre
System.out.print(0+"");
retour ;
}autre{
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+" ");
autre
System.out.print(0+"");
}
processus(a,n+1);
}
public static boolean isPrime(int num) {
int i;
pour(i=2;i
if(num%i==0)
pause;
}
if(i==num){
retour vrai ;
}
retour faux ;
}
}Résultat de l'exécution :
2
5
5 7 2 9 13
cas 1:1 2 1 2 0
3
10 4 5
cas 2:0 1 0
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Avez-vous du mal à télécharger ou à envoyer des pièces jointes dans Outlook 365? Parfois, Outlook ne les montre pas pour une raison inconnue, vous ne pouvez donc pas les voir. Dans cet article sur le site Web php.cn, nous collectons quelques conseils d'utilisation pour les pièces jointes qui ne sont pas affichées.

Lorsque V Rising, les joueurs essaient de rejoindre un serveur proche ou déjà complet, ils peuvent rencontrer le problème «V Rising Connection Tourd Out». Si vous êtes l'un d'eux, vous pouvez vous référer à ce message de Php.cn pour obtenir des solutions. Maintenant, continuez à lire.

Windows fournit une protection en temps réel via Windows Security. Mais cette fonctionnalité peut vous empêcher de faire quelque chose qu'il pense être dangereux. Dans cette situation, vous voudrez peut-être temporairement activer la protection en temps réel. Ce message php.cn vous montrera comment

Microsoft a commencé à travailler sur les mises à jour Windows de l'année prochaine très tôt. Les rumeurs récentes indiquent que la prochaine mise à jour en 2024 pourrait être Windows 11 24H2 plutôt que Windows 12. Tout est incertain maintenant. php.cn vous emmènera désormais pour voir une information connexe

L'erreur 0x80030001 se produit souvent lorsque vous essayez de copier des fichiers. Le code d'erreur sera accompagné d'un message qui indique «Impossible d'effectuer l'opération demandée». Si vous avez du mal avec cette erreur, vous pouvez lire cet article sur php.cn w

Le 13 février 2024, Microsoft a publié KB5034765 (OS Builds 22621.3155 et 22631.3155) pour Windows 11 22H2 et Windows 11 23h2. Cette mise à jour de sécurité vous apporte de nombreuses nouvelles améliorations et corrections de bogues. Vous pouvez apprendre à télécharger et à installer Windows 1

Le gestionnaire de périphériques est largement utilisé lorsque vous devez résoudre certains problèmes informatiques. Vous pouvez vérifier les périphériques problématiques et décider de désinstaller ou de mettre à jour les pilotes de périphériques. En outre, vous pouvez également définir les paramètres de gestion de l'alimentation dans Device Manager. Cependant, vous pouvez f

Lorsque la sauvegarde et la restauration (sauvegarde Windows) ne fonctionnent pas, vous pouvez choisir de le réinitialiser par défaut. Comment restaurer la sauvegarde Windows par défaut dans Windows 11/10? PHP.CN vous guidera facilement pour faire cette chose de 2 manières et allons les voir.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

PhpStorm version Mac
Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP