- Executors
-
Learn
Python Learning Hub Runnable examples, NumPy, pandas, and more C & C++ Learning Hub Pointers, memory, STL, and modern C++ C# Learning HubC# basics, OOP, LINQ, async, and .NET exercises Python Algorithms Search, sorting, recursion, and visualizers O(n) C & C++ Algorithms Compare algorithms implemented in C and C++
- Challenges
Adam keeps two moving averages per weight, of the gradient (m) and of the squared gradient (v), and uses them to give each weight its own step size.
Start with m = 0 and v = 0 for every weight. For each step t = 1, 2, 3, … with gradient g:
- m ← beta1 × m + (1 - beta1) × g
- v ← beta2 × v + (1 - beta2) × g²
- m̂ = m / (1 - beta1ᵗ) and v̂ = v / (1 - beta2ᵗ) (bias correction)
- w ← w - learning_rate × m̂ / (√v̂ + epsilon)
Implement adam_steps(gradients, weights, learning_rate, beta1, beta2, epsilon), applying one update per row of gradients, in order.
Input
gradients: One row per step; each row has one gradient per weight.
weights: The starting weights.
learning_rate, beta1, beta2, epsilon: Adam's hyperparameters (commonly 0.001, 0.9, 0.999 and 0.00000001).
Output
Return the weights after all steps.
Constraints
0 ≤ steps ≤ 1,000, 1 ≤ weights ≤ 100
0 < learning_rate ≤ 1, 0 ≤ beta1, beta2 < 1, 0 < epsilon ≤ 0.001
-100 ≤ each value ≤ 100
Examples
Example 1
Input:
beta1 = 0.9
beta2 = 0.999
epsilon = 1.0e-08
weights = [1.0]
gradients = [
[2.0]
]
learning_rate = 0.1
Expected output:
[0.9]
Explanation
m = 0.1 × 2 = 0.2 and v = 0.001 × 4 = 0.004. Bias correction gives m̂ = 0.2 / 0.1 = 2 and v̂ = 0.004 / 0.001 = 4, so the step is 0.1 × 2 / √4 = 0.1: w = 0.9. On its first step Adam moves each weight by about the learning rate, whatever the gradient's size.
Example 2
Input:
beta1 = 0.9
beta2 = 0.999
epsilon = 1.0e-08
weights = [0.0, 0.0]
gradients = [
[100.0, 0.01]
]
learning_rate = 0.01
Expected output:
[-0.01, -0.01]
Explanation
The gradients differ by a factor of 10,000, yet both weights move by about 0.01, to [-0.01, -0.01]: Adam scales each step by the gradient's own size.
References
-
Example 1 Not runInput:
beta1 = 0.9 beta2 = 0.999 epsilon = 1.0e-08 weights = [1.0] gradients = [ [2.0] ] learning_rate = 0.1Expected output:[0.9]Your output -
Example 2 Not runInput:
beta1 = 0.9 beta2 = 0.999 epsilon = 1.0e-08 weights = [0.0, 0.0] gradients = [ [100.0, 0.01] ] learning_rate = 0.01Expected output:[-0.01, -0.01]Your output
4 hidden tests also run when you submit.
Online C# Compiler & Debugger
Write, compile, run, and debug C# code online. Set breakpoints, step into or over code, and inspect variables and nested objects in a full IDE with multiple files, saved workspaces, sharing, and live collaboration—no setup required.
🚀 350,747 total executions (1 this month)
Practice C# with coding challenges
Solve hands-on problems right in this editor: run the sample tests, submit, and get an AI code review.
🔷 About This C# / .NET Online Executor
The CodeUtility C# Executor lets you write and run real C# code directly in your browser - no installation, Visual Studio setup, or .NET SDK required. It’s powered by a secure sandbox that supports the .NET runtime and modern C# language versions, including C# 9 and later.
This tool uses dotnet-script under the hood to compile and execute your code with true .NET behavior, allowing you to experiment with both basic and advanced C# features like LINQ, async/await, pattern matching, and generics.
You can test simple scripts, functions, and logic flows, or explore concepts like classes, structs, inheritance, and interfaces - all in a clean, distraction-free coding environment.
Whether you’re learning C#, testing algorithms, or experimenting with .NET features, the CodeUtility C# Executor gives you a fast, secure, and reliable way to run C# code instantly from any browser.
More than a code runner
Use a multi-file editor, an isolated execution terminal, runtime-specific libraries, persistent workspaces, sharing, and real-time collaboration from the same executor.
How to use this executor?
Choose a runtime, open or create a file, write your code, and select Run. Output appears in the terminal, while signed-in users can keep files in a workspace, install libraries, and collaborate through shares.
- Select a version and edit the current file or open another workspace file.
- Run the code, provide input in the terminal when requested, and review saved run history.
- Use libraries, workspace tools, sharing, and chat when your task needs more than one snippet.
💡 C# Basics & Examples You Can Try Above
1. Declaring Variables and Constants
C# uses strongly-typed variable declarations. Use const for compile-time constants and readonly for runtime constants.
int age = 30;
double pi = 3.14159;
char grade = 'A';
string name = "Alice";
bool isActive = true;
// Constants
const int MaxUsers = 100;
const string Company = "CodeUtility";
2. Conditionals (if / switch)
Use if, else if, and switch for control flow.
int x = 2;
if (x == 1)
{
Console.WriteLine("One");
}
else if (x == 2)
{
Console.WriteLine("Two");
}
else
{
Console.WriteLine("Other");
}
switch (x)
{
case 1:
Console.WriteLine("One");
break;
case 2:
Console.WriteLine("Two");
break;
default:
Console.WriteLine("Other");
break;
}
3. Loops
C# supports for, while, and foreach loops.
for (int i = 0; i < 3; i++)
{
Console.WriteLine(i);
}
int n = 3;
while (n > 0)
{
Console.WriteLine(n);
n--;
}
4. Arrays
Arrays store fixed-size collections of elements of the same type.
int[] numbers = { 10, 20, 30 };
Console.WriteLine(numbers[1]);
5. List Manipulation
Use List<T> for dynamic collections.
List<int> nums = new List<int> { 1, 2, 3 };
nums.Add(4);
nums.Remove(2);
foreach (int n in nums)
{
Console.Write(n + " ");
}
6. Console Input/Output
Use Console.WriteLine and Console.ReadLine for basic I/O.
Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.WriteLine($"Hello, {name}!");
7. Functions
Define methods using a return type, name, and parameters.
int Add(int a, int b)
{
return a + b;
}
Console.WriteLine(Add(3, 4));
8. Dictionaries
Dictionary<TKey, TValue> stores key-value pairs.
Dictionary<string, int> ages = new Dictionary<string, int>();
ages["Alice"] = 30;
Console.WriteLine(ages["Alice"]);
9. Exception Handling
Handle runtime errors using try, catch, and finally.
try
{
throw new Exception("Something went wrong");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
10. File I/O
Use File and StreamReader/StreamWriter for file operations.
File.WriteAllText("file.txt", "Hello File");
string text = File.ReadAllText("file.txt");
Console.WriteLine(text);
11. String Manipulation
C# strings support methods like Length, Substring, Contains.
string message = "Hello World";
Console.WriteLine(message.Length);
Console.WriteLine(message.Substring(0, 5));
Console.WriteLine(message.Contains("World"));
12. Classes & Objects
C# supports object-oriented programming through classes and objects.
class Person
{
public string Name;
public Person(string name) => Name = name;
public void Greet() => Console.WriteLine($"Hi, I'm {Name}");
}
Person p = new Person("Alice");
p.Greet();