Book a free demo

Coding Grandmaster · project 17 of 46 · premium, free for now

Every subset

Write subsets(items) returning a list of every subset as a list, in the order of the counter 0 to 2^n − 1, using bit tests. Print how many subsets four items have, and the subsets of two items.

Learn

A list of n items has 2^n subsets: each item is either in or out. Count from 0 to 2^n − 1 in binary; bit i of the counter says whether item i is in the subset. So a single loop and a bit test generate the lot. This power set idea sits behind many puzzles and search problems.

Your task

Write subsets(items) returning a list of every subset as a list, in the order of the counter 0 to 2^n − 1, using bit tests. Print how many subsets four items have, and the subsets of two items.

Stretch challenge

Find the subsets of [3, 5, 8, 13] that add up to 16.

← Set, clear and togglePermission flags →

Python
Press Run to see what your program prints.

More in this module

Keep going in Coding Grandmaster

Practise the idea

🃏 Play Maths Memory Match

Flip cards to match each sum with its answer. Times tables, addition, fractions and percentages.

Play now

FAQ

Every subset: common questions

I am stuck. What can I do?

Press Hint for a nudge, read the message next to each goal, and compare your code with the lesson text. If you still need it, Show answer reveals a model solution. Try to type it yourself rather than copy it.

Does my work get saved?

Your ticks and XP are saved in this browser, and in your account if you log in. The code you type is not stored on a server.

Start a conversation

Enjoying coding? Meet a teacher.

Tell us the learner's age, country and what they would like to build, and we will suggest a class. A parent or guardian can make the enquiry.

  • Tell us the learner’s age or grade and goals
  • We’ll suggest a suitable class or learning path
  • We’ll confirm format, timing and fees with a parent or guardian

For a child’s class, please have a parent or guardian send the enquiry. Avoid sharing passwords or sensitive personal details.

We’ll use your details only to respond to this request.

Play it, don't just read it

Write some code right now

Free games that need no sign-up. Pick one and play for five minutes.

All free games →
Chat on WhatsApp
Esc

Try