- Esecutori
-
Impara
Impara Python Esempi eseguibili, NumPy, pandas e altro Impara l'IAReti neurali, ML e LLM da zero Impara C e C++ Puntatori, memoria, STL e C++ moderno Impara C#Fondamenti, OOP, LINQ, async ed esercizi .NET Impara MatplotlibGrafici a linee, barre, dispersione e torta con visualizzatori Algoritmi Python Ricerca, ordinamento, ricorsione e visualizzazioni O(n) Algoritmi C e C++ Confronta le implementazioni in C e C++ Programmazione per bambini Impara a programmare giocando!
- SfideNuovo
- Per docentiNuovo
- Aggiornamenti
- Offrimi un caffè
I modelli linguistici scelgono il token successivo da una distribuzione di probabilità. Due impostazioni le danno forma:
- 'Top-k: tieni solo i k token con i logit più alti (a parità di logit, l''indice minore viene prima).'
- 'Temperatura T: dividi i logit tenuti per T prima del softmax. Una T bassa rende la scelta più prevedibile, una T alta più casuale.'
Per rendere il campionamento verificabile, il numero casuale viene fornito:
- Tieni i token del top-k ed elencali per indice originale (crescente).
- Calcola softmax(logit / T) sui token tenuti (sottrai il maggiore prima di calcolare e^x).
- Scorri la lista sommando le probabilità; restituisci l'indice del primo token in cui il totale cumulato supera
random_value. Se non succede mai (arrotondamento), restituisci l'ultimo token tenuto.
Con k = 1 è la decodifica greedy: sempre il token più probabile.
Implementa sample_token(logits, temperature, k, random_value).
Input
logits: Un punteggio per ogni token del vocabolario.
temperature: T, maggiore di 0.
k: Quanti token migliori tenere.
random_value: Un numero casuale in [0, 1).
Output
Restituisci l'indice del token scelto.
Vincoli
1 ≤ k ≤ numero di logit ≤ 1.000
0 < temperature ≤ 100, 0 ≤ random_value < 1
-100 ≤ ogni logit ≤ 100
Esempi
Esempio 1
Input:
logits = [1.0, 3.0, 2.0, 0.5]
temperature = 1.0
k = 1
random_value = 0.99
Output atteso:
1
Spiegazione
k = 1 tiene solo il logit più alto, 3.0 all'indice 1. La sua probabilità è 1, quindi viene scelto qualunque sia il numero casuale: decodifica greedy.
Esempio 2
Input:
logits = [2.0, 1.0, 0.0]
temperature = 1.0
k = 2
random_value = 0.8
Output atteso:
1
Spiegazione
Il top-2 tiene gli indici 0 e 1 (logit 2 e 1). Il softmax dà circa 0.731 e 0.269. Il totale cumulato è 0.731 dopo l'indice 0 (non supera 0.8) e 1 dopo l'indice 1, quindi viene scelto l'indice 1.
Riferimenti
-
Esempio 1 Non eseguitoInput:
logits = [1.0, 3.0, 2.0, 0.5] temperature = 1.0 k = 1 random_value = 0.99Output atteso:1Il tuo output -
Esempio 2 Non eseguitoInput:
logits = [2.0, 1.0, 0.0] temperature = 1.0 k = 2 random_value = 0.8Output atteso:1Il tuo output
4 test nascosti vengono eseguiti anche al momento dell'invio. Se il tuo codice ne fallisce uno, vedrai quel test. Risolvi la sfida per vederli tutti.
Online Kotlin Compiler
Write, compile, run, and debug Kotlin code online in a full-featured browser IDE. Work with multiple files, save your workspace, and collaborate in real time.
🚀 71,457 esecuzioni totali (576 questo mese)
Esercitati in Kotlin con le sfide di codice
Risolvi problemi pratici direttamente in questo editor: esegui i test di esempio, invia la soluzione e ricevi una revisione AI del codice.
🧩 Informazioni su questo esecutore Kotlin online
Il CodeUtility Kotlin Executor ti consente di scrivere, compilare ed eseguire codice Kotlin direttamente nel browser - nessuna installazione, IDE o configurazione dell’SDK richiesta. Utilizza compilatori Kotlin reali in esecuzione in sandbox isolate per un’esperienza di esecuzione sicura e fedele.
Questo strumento supporta più versioni di Kotlin - 1.6, 1.9 e 2.1 - così puoi esplorare gli aggiornamenti della sintassi, testare la compatibilità del codice e sperimentare funzionalità moderne del linguaggio come coroutines, data classes e sealed interfaces.
È ideale per studenti che imparano le basi di Kotlin, sviluppatori Android che sperimentano con snippet, o ingegneri backend che testano la logica in un ambiente JVM senza lasciare il browser.
L’ambiente esegue ogni snippet all’interno di un runtime containerizzato e sicuro, garantendo prestazioni costanti e un’esecuzione del codice sicura.
Più di un semplice esecutore di codice
Usa nello stesso esecutore un editor multifile, un terminale di esecuzione isolato, librerie specifiche per il runtime, spazi di lavoro persistenti, condivisione e collaborazione in tempo reale.
Come si usa questo esecutore?
Scegli un runtime, apri o crea un file, scrivi il codice e seleziona Esegui. L’output appare nel terminale; gli utenti che hanno effettuato l’accesso possono conservare i file in uno spazio di lavoro, installare librerie e collaborare tramite le condivisioni.
- Seleziona una versione e modifica il file corrente oppure apri un altro file dello spazio di lavoro.
- Esegui il codice, inserisci i dati nel terminale quando richiesto e consulta la cronologia delle esecuzioni salvate.
- Usa librerie, strumenti dello spazio di lavoro, condivisione e chat quando l’attività richiede più di un frammento di codice.
💡 Guida alle basi di Kotlin per principianti
1. Dichiarare variabili e costanti
Kotlin usa val per variabili immutabili e var per quelle mutabili.
val name: String = "Alice"
var age: Int = 30
val pi = 3.14 // tipo inferito
// Costanti
const val MAX_USERS = 100
2. Condizionali (if / when)
Usa espressioni if o when per più casi.
val x = 2
if (x == 1) {
println("Uno")
} else if (x == 2) {
println("Due")
} else {
println("Altro")
}
when (x) {
1 -> println("Uno")
2 -> println("Due")
else -> println("Altro")
}
3. Cicli
Usa for, while e do-while per le iterazioni.
for (i in 0..2) {
println(i)
}
var n = 3
while (n > 0) {
println(n)
n--
}
4. Array
Kotlin supporta gli array usando la funzione arrayOf().
val numbers = arrayOf(10, 20, 30)
println(numbers[1])
5. Manipolazione delle liste
Usa mutableListOf per liste dinamiche.
val nums = mutableListOf(1, 2, 3)
nums.add(4)
nums.removeAt(0)
for (n in nums) {
print("$n ")
}
6. Input/Output da console
Usa readLine() per l’input e println() per l’output.
print("Inserisci il tuo nome: ")
val name = readLine()
println("Ciao, $name")
7. Funzioni
Le funzioni usano la parola chiave fun con tipo di ritorno opzionale.
fun add(a: Int, b: Int): Int {
return a + b
}
println(add(3, 4))
8. Mappe
mutableMapOf memorizza coppie chiave-valore.
val ages = mutableMapOf("Alice" to 30)
println(ages["Alice"])
9. Gestione delle eccezioni
Usa try, catch e finally per gestire gli errori.
try {
val result = 10 / 0
} catch (e: ArithmeticException) {
println("Errore: ${e.message}")
}
10. I/O su file
Usa File da java.io per operazioni sui file.
import java.io.File
File("file.txt").writeText("Ciao file")
val text = File("file.txt").readText()
println(text)
11. Manipolazione di stringhe
Le stringhe in Kotlin supportano molti metodi e l’interpolazione.
val text = "Ciao mondo"
println(text.length)
println(text.substring(0, 5))
println(text.contains("mondo"))
12. Classi e oggetti
Le classi Kotlin sono concise e supportano costruttori predefiniti.
class Person(val name: String) {
fun greet() = println("Ciao, sono $name")
}
val p = Person("Alice")
p.greet()
13. Sicurezza dei null
Kotlin distingue tra tipi nullable e non-nullable. Usa ? e ?: per sicurezza.
val name: String? = null
println(name?.length ?: 0)