- Exécuteurs
-
Apprendre
Apprendre Python Exemples exécutables, NumPy, pandas et plus Apprendre l'IARéseaux de neurones, ML et LLM de zéro Apprendre le C et le C++ Pointeurs, mémoire, STL et C++ moderne Apprendre le C#Bases, POO, LINQ, async et exercices .NET Apprendre MatplotlibCourbes, barres, nuages de points et camemberts avec visualiseurs Algorithmes Python Recherche, tri, récursivité et visualisations O(n) Algorithmes C et C++ Comparer les implémentations en C et C++ Programmation pour enfants Apprends à coder en jouant !
- DéfisNouveau
- EnseignantsNouveau
- Mises à Jour
- Offrez-moi un café
Les modèles de langage choisissent le token suivant à partir d'une distribution de probabilités. Deux réglages la façonnent :
- 'Top-k : ne gardez que les k tokens aux logits les plus élevés (à logits égaux, l''indice le plus petit est mieux classé).'
- 'Température T : divisez les logits gardés par T avant le softmax. Un T bas rend le choix plus prévisible, un T élevé plus aléatoire.'
Pour rendre l'échantillonnage testable, le nombre aléatoire est fourni :
- Gardez les tokens du top-k et listez-les par indice d'origine (croissant).
- Calculez softmax(logit / T) sur les tokens gardés (soustrayez le plus grand avant de calculer e^x).
- Parcourez la liste en additionnant les probabilités ; renvoyez l'indice du premier token pour lequel le total cumulé dépasse
random_value. Si cela n'arrive jamais (arrondi), renvoyez le dernier token gardé.
Avec k = 1, c'est le décodage glouton : toujours le token le plus probable.
Implémentez sample_token(logits, temperature, k, random_value).
Entrée
logits : Un score par token du vocabulaire.
temperature : T, supérieur à 0.
k : Le nombre de meilleurs tokens à garder.
random_value : Un nombre aléatoire dans [0, 1).
Sortie
Renvoyez l'indice du token choisi.
Contraintes
1 ≤ k ≤ nombre de logits ≤ 1 000
0 < temperature ≤ 100, 0 ≤ random_value < 1
-100 ≤ chaque logit ≤ 100
Exemples
Exemple 1
Entrée :
logits = [1.0, 3.0, 2.0, 0.5]
temperature = 1.0
k = 1
random_value = 0.99
Sortie attendue :
1
Explication
k = 1 ne garde que le logit le plus élevé, 3.0 à l'indice 1. Sa probabilité vaut 1, il est donc choisi quel que soit le nombre aléatoire : décodage glouton.
Exemple 2
Entrée :
logits = [2.0, 1.0, 0.0]
temperature = 1.0
k = 2
random_value = 0.8
Sortie attendue :
1
Explication
Le top-2 garde les indices 0 et 1 (logits 2 et 1). Le softmax donne environ 0.731 et 0.269. Le total cumulé vaut 0.731 après l'indice 0 (pas au-dessus de 0.8) et 1 après l'indice 1, donc l'indice 1 est choisi.
Références
-
Exemple 1 Non exécutéEntrée :
logits = [1.0, 3.0, 2.0, 0.5] temperature = 1.0 k = 1 random_value = 0.99Sortie attendue :1Votre sortie -
Exemple 2 Non exécutéEntrée :
logits = [2.0, 1.0, 0.0] temperature = 1.0 k = 2 random_value = 0.8Sortie attendue :1Votre sortie
4 tests cachés seront aussi exécutés lors de la soumission. Si votre code en échoue un, vous verrez ce test. Résolvez le défi pour tous les voir.
Online Java Compiler
Write, compile, run, and debug Java code online in a full-featured browser IDE. Work with multiple files, save your workspace, and share or collaborate in real time - no setup required.
🚀 260,408 exécutions totales (5,854 ce mois-ci)
Pratiquez Java avec des défis de code
Résolvez des problèmes concrets dans cet éditeur : lancez les tests, soumettez et recevez une relecture IA.
☕ À propos de cet exécuteur Java en ligne
Le CodeUtility Java Executor vous permet d’écrire et d’exécuter des programmes Java directement dans votre navigateur - aucune installation, configuration du JDK ni IDE n’est nécessaire. Il est propulsé par un bac à sable sécurisé qui prend en charge les versions réelles du runtime Java 8, 11, 17, 21 et la dernière.
Cet outil compile et exécute du code Java dans le cloud à l’aide d’un véritable compilateur javac et d’un environnement d’exécution Java,
afin que vous puissiez tester des classes, des méthodes et la logique exactement comme en local.
Que vous pratiquiez la programmation orientée objet, vous prépariez des entretiens ou testiez des extraits avant intégration, le CodeUtility Java Executor offre un environnement rapide et fiable pour exécuter instantanément du vrai code Java depuis n’importe quel appareil.
Bien plus qu’un exécuteur de code
Utilisez depuis le même exécuteur un éditeur multifichier, un terminal d’exécution isolé, des bibliothèques propres à chaque environnement, des espaces de travail persistants, le partage et la collaboration en temps réel.
Comment utiliser cet exécuteur ?
Choisissez un environnement d’exécution, ouvrez ou créez un fichier, écrivez votre code, puis sélectionnez Exécuter. La sortie s’affiche dans le terminal ; les utilisateurs connectés peuvent conserver leurs fichiers dans un espace de travail, installer des bibliothèques et collaborer grâce aux partages.
- Sélectionnez une version et modifiez le fichier actuel, ou ouvrez un autre fichier de l’espace de travail.
- Exécutez le code, saisissez les données demandées dans le terminal et consultez l’historique des exécutions enregistrées.
- Utilisez les bibliothèques, les outils de l’espace de travail, le partage et le chat lorsque votre tâche nécessite plusieurs extraits de code.
💡 Bases de Java et exemples à essayer ci-dessus
1. Déclaration de variables et constantes
Java vous oblige à déclarer le type de chaque variable. Utilisez final pour les constantes.
int age = 30;
double pi = 3.14159;
char grade = 'A';
String name = "Alice";
boolean isActive = true;
// Constantes
final int MAX_USERS = 100;
final String COMPANY = "CodeUtility";
2. Conditions (if / switch)
Utilisez if, else if et switch pour le contrôle du flux.
int x = 2;
if (x == 1) {
System.out.println("Un");
} else if (x == 2) {
System.out.println("Deux");
} else {
System.out.println("Autre");
}
switch (x) {
case 1:
System.out.println("Un");
break;
case 2:
System.out.println("Deux");
break;
default:
System.out.println("Autre");
}
3. Boucles
Utilisez for, while et do-while pour l’itération.
for (int i = 0; i < 3; i++) {
System.out.println(i);
}
int n = 3;
while (n > 0) {
System.out.println(n);
n--;
}
4. Tableaux
Les tableaux contiennent des séquences de taille fixe d’un même type.
int[] numbers = {10, 20, 30};
System.out.println(numbers[1]);
5. Manipulation d’ArrayList
Utilisez ArrayList pour des listes de taille dynamique.
import java.util.ArrayList;
ArrayList<Integer> nums = new ArrayList<>();
nums.add(1);
nums.add(2);
nums.add(3);
nums.remove(Integer.valueOf(2));
for (int num : nums) {
System.out.print(num + " ");
}
6. Entrée/Sortie console
Utilisez Scanner pour l’entrée et System.out pour la sortie.
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
System.out.print("Entrez votre nom : ");
String name = scanner.nextLine();
System.out.println("Bonjour, " + name);
7. Fonctions
Définissez des méthodes avec types de retour et paramètres.
public static int add(int a, int b) {
return a + b;
}
System.out.println(add(3, 4));
8. HashMap
Utilisez HashMap pour un stockage clé-valeur.
import java.util.HashMap;
HashMap<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
System.out.println(ages.get("Alice"));
9. Gestion des exceptions
Utilisez try et catch pour gérer les exceptions à l’exécution.
try {
throw new Exception("Une erreur s'est produite");
} catch (Exception e) {
System.out.println(e.getMessage());
}
10. Entrée/Sortie fichiers
Utilisez Files et Paths de java.nio.file pour la gestion des fichiers.
import java.nio.file.*;
import java.io.IOException;
Files.writeString(Paths.get("file.txt"), "Bonjour fichier");
String content = Files.readString(Paths.get("file.txt"));
System.out.println(content);
11. Manipulation de chaînes
Les chaînes Java prennent en charge de nombreuses méthodes comme length(), substring() et contains().
String text = "Bonjour le monde";
System.out.println(text.length());
System.out.println(text.substring(0, 5));
System.out.println(text.contains("monde"));
12. Classes et objets
Java prend en charge la programmation orientée objet avec des classes et des instances.
class Person {
String name;
Person(String name) {
this.name = name;
}
void greet() {
System.out.println("Bonjour, je suis " + name);
}
}
Person p = new Person("Alice");
p.greet();