- Esecutori
-
Impara
Centro di apprendimento Python Esempi eseguibili, NumPy, pandas e altro Centro di apprendimento C e C++ Puntatori, memoria, STL e C++ moderno Centro di apprendimento C#Fondamenti, OOP, LINQ, async ed esercizi .NET Algoritmi Python Ricerca, ordinamento, ricorsione e visualizzazioni O(n) Algoritmi C e C++ Confronta le implementazioni in C e C++
- Sfide
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:
k = 1
logits = [1.0, 3.0, 2.0, 0.5]
temperature = 1.0
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:
k = 2
logits = [2.0, 1.0, 0.0]
temperature = 1.0
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:
k = 1 logits = [1.0, 3.0, 2.0, 0.5] temperature = 1.0 random_value = 0.99Output atteso:1Il tuo output -
Esempio 2 Non eseguitoInput:
k = 2 logits = [2.0, 1.0, 0.0] temperature = 1.0 random_value = 0.8Output atteso:1Il tuo output
4 test nascosti vengono eseguiti anche al momento dell'invio.
Compilatore e debugger C# online
Scrivi, compila, esegui e fai il debug di C# online. Usa breakpoint, esecuzione passo passo e ispezione degli oggetti in un IDE multifile, senza Visual Studio.
🚀 350,747 esecuzioni totali (1 questo mese)
Esercitati in C# 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 online C# / .NET
Il CodeUtility C# Executor ti consente di scrivere ed eseguire vero codice C# direttamente nel tuo browser - senza installazioni, configurazioni di Visual Studio o .NET SDK. È alimentato da una sandbox sicura che supporta il runtime .NET e le versioni moderne del linguaggio C#, incluse C# 9 e successive.
Questo strumento utilizza dotnet-script dietro le quinte per compilare ed eseguire il tuo codice con un comportamento .NET reale, permettendoti di sperimentare sia le funzionalità base sia quelle avanzate di C# come LINQ, async/await, pattern matching e generics.
Puoi testare script semplici, funzioni e flussi logici, oppure esplorare concetti come classi, struct, ereditarietà e interfacce - il tutto in un ambiente di coding pulito e senza distrazioni.
Che tu stia imparando C#, testando algoritmi o sperimentando funzionalità .NET, il CodeUtility C# Executor ti offre un modo rapido, sicuro e affidabile per eseguire codice C# all’istante da qualsiasi browser.
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.
💡 Nozioni di base C# ed esempi che puoi provare qui sopra
1. Dichiarazione di variabili e costanti
C# utilizza dichiarazioni di variabili a tipizzazione forte. Usa const per le costanti a tempo di compilazione e readonly per quelle a tempo di esecuzione.
int age = 30;
double pi = 3.14159;
char grade = 'A';
string name = "Alice";
bool isActive = true;
// Costanti
const int MaxUsers = 100;
const string Company = "CodeUtility";
2. Condizionali (if / switch)
Usa if, else if e switch per il flusso di controllo.
int x = 2;
if (x == 1)
{
Console.WriteLine("Uno");
}
else if (x == 2)
{
Console.WriteLine("Due");
}
else
{
Console.WriteLine("Altro");
}
switch (x)
{
case 1:
Console.WriteLine("Uno");
break;
case 2:
Console.WriteLine("Due");
break;
default:
Console.WriteLine("Altro");
break;
}
3. Cicli
C# supporta i cicli for, while e foreach.
for (int i = 0; i < 3; i++)
{
Console.WriteLine(i);
}
int n = 3;
while (n > 0)
{
Console.WriteLine(n);
n--;
}
4. Array
Gli array contengono collezioni a dimensione fissa di elementi dello stesso tipo.
int[] numbers = { 10, 20, 30 };
Console.WriteLine(numbers[1]);
5. Manipolazione delle liste
Usa List<T> per collezioni dinamiche.
List<int> nums = new List<int> { 1, 2, 3 };
nums.Add(4);
nums.Remove(2);
foreach (int n in nums)
{
Console.Write(n + " ");
}
6. Input/Output da console
Usa Console.WriteLine e Console.ReadLine per l'I/O di base.
Console.Write("Inserisci il tuo nome: ");
string name = Console.ReadLine();
Console.WriteLine($"Ciao, {name}!");
7. Funzioni
Definisci i metodi usando un tipo di ritorno, un nome e parametri.
int Add(int a, int b)
{
return a + b;
}
Console.WriteLine(Add(3, 4));
8. Dizionari
Dictionary<TKey, TValue> memorizza coppie chiave-valore.
Dictionary<string, int> ages = new Dictionary<string, int>();
ages["Alice"] = 30;
Console.WriteLine(ages["Alice"]);
9. Gestione delle eccezioni
Gestisci gli errori a tempo di esecuzione usando try, catch e finally.
try
{
throw new Exception("Qualcosa è andato storto");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
10. I/O su file
Usa File e StreamReader/StreamWriter per operazioni sui file.
File.WriteAllText("file.txt", "Ciao File");
string text = File.ReadAllText("file.txt");
Console.WriteLine(text);
11. Manipolazione delle stringhe
Le stringhe in C# supportano metodi come Length, Substring, Contains.
string message = "Ciao mondo";
Console.WriteLine(message.Length);
Console.WriteLine(message.Substring(0, 5));
Console.WriteLine(message.Contains("mondo"));
12. Classi e oggetti
C# supporta la programmazione orientata agli oggetti tramite classi e oggetti.
class Person
{
public string Name;
public Person(string name) => Name = name;
public void Greet() => Console.WriteLine($"Ciao, sono {Name}");
}
Person p = new Person("Alice");
p.Greet();