C++ coding challenges

226 challenges you can solve in C++, from first loops to graphs, dynamic programming and machine learning. Write your code in the browser, run the tests instantly and get an AI review.

Easy · 134 Medium · 68 Hard · 24

Skills you'll practise: CountingDigit extractionString splitting2D listsArithmeticFormulasListsLoopsConditionsDivisibilityFloating pointGradient descent
  • Python · C++ · C#
  • Automated tests
  • AI code review
  • Community solutions
226
Challenges
2
Solutions shared
3
Languages

All challenges

Search by topic, language, or difficulty.

226 challenges
Easy

Prime Number Check

Decide whether a number is prime.

You'll learn DivisibilityLoop optimization
BeginnerLoopsNumbersStudent-beginner
No solutions yet
Easy

Halve Until One

Count how many halvings bring a number down to 1.

You'll learn While loopsCounting
BeginnerLearning-pathLoops
No solutions yet
Hard

Count Numbers With Distinct Neighbors

Count range values whose adjacent decimal digits are never equal.

You'll learn Digit DPCounting ranges
Dynamic-programmingNumbers
No solutions yet
Easy

Multiplication Grid

Build a full multiplication table.

You'll learn 2D listsRow and column indexes
BeginnerLearning-pathNested-loops
No solutions yet
Medium

List Primes With a Sieve

Find primes up to a limit by marking composite multiples.

You'll learn Sieve of EratosthenesBoolean arrays
Number-theorySieve
No solutions yet
Hard

Maximum Project Rewards

Choose nonoverlapping projects to earn the largest total reward.

You'll learn Weighted schedulingDP with binary search
Dynamic-programmingScheduling
No solutions yet
Easy

Doubling Grains on a Chessboard

Calculate a square’s grain count and the total on all 64 squares.

You'll learn Powers of twoBig numbers
NumbersSequences
No solutions yet
Medium

Recursive Power

Compute a power recursively by halving the exponent.

You'll learn Halving the exponentDivide and conquer
BeginnerLearning-pathRecursion
No solutions yet
Easy

Min and Max Together

Find the smallest and largest value in one pass.

You'll learn Single passMultiple return values
ArraysBeginnerFunctionsLearning-path
No solutions yet
Easy

Sum Even Fibonacci Terms

Add the even Fibonacci terms that do not exceed a limit.

You'll learn Sequence generationFiltering
NumbersSequences
No solutions yet
Medium

Can We Split Into Two Teams?

Decide whether people can be assigned to two teams so that each listed pair is on opposite teams.

You'll learn Graph coloringBFS
BipartiteGraphs
No solutions yet
Medium

Largest Prime Factor

Find the largest prime that divides a positive integer.

You'll learn Prime factorizationTrial division
AlgorithmsNumber-theory
No solutions yet
Hard

Cut a Rectangle Into Squares

Find the fewest straight cuts needed to produce only squares.

You'll learn 2D dynamic programmingOptimization
Dynamic-programmingGeometry
No solutions yet
Hard

Find Many Patterns in Text

For each requested pattern, decide whether it appears as a contiguous substring anywhere in the shared text.

You'll learn Substring searchPreprocessing
Pattern-matchingStringsTries
No solutions yet
Medium

Subtract Digits to Reach Zero

Use as few digit subtractions as possible to reach zero.

You'll learn Minimum steps DPGreedy choice
Dynamic-programmingNumbers
No solutions yet
Easy

Roman Numeral Value

Convert a Roman numeral to a number.

You'll learn Symbol-to-value mapsSubtractive rules
BeginnerLookup-tablesStringsStudent-beginner
No solutions yet
Medium

Sum of Primes Below a Limit

Add all primes strictly below a limit.

You'll learn Sieve of EratosthenesSumming primes
Number-theorySieve
No solutions yet
Hard

Minimum Elevator Rides

Group people into as few weight-limited elevator rides as possible.

You'll learn Bitmask DPSubsets
Dynamic-programmingOptimization
No solutions yet