freeCodeCamp/curriculum/challenges/english/10-coding-interview-prep/project-euler/problem-169-exploring-the-n...

54 lines
1023 B
Markdown

---
id: 5900f4151000cf542c50ff28
title: >-
Problem 169: Exploring the number of different ways a number can be expressed
as a sum of powers of 2
challengeType: 5
forumTopicId: 301803
dashedName: >-
problem-169-exploring-the-number-of-different-ways-a-number-can-be-expressed-as-a-sum-of-powers-of-2
---
# --description--
Define $f(0)=1$ and $f(n)$ to be the number of different ways $n$ can be expressed as a sum of integer powers of 2 using each power no more than twice.
For example, $f(10)=5$ since there are five different ways to express 10:
$$\begin{align}
& 1 + 1 + 8 \\\\
& 1 + 1 + 4 + 4 \\\\
& 1 + 1 + 2 + 2 + 4 \\\\
& 2 + 4 + 4 \\\\
& 2 + 8
\end{align}$$
What is $f({10}^{25})$?
# --hints--
`numberOfWaysToExpress()` should return `178653872807`.
```js
assert.strictEqual(numberOfWaysToExpress(), 178653872807);
```
# --seed--
## --seed-contents--
```js
function numberOfWaysToExpress() {
return true;
}
numberOfWaysToExpress();
```
# --solutions--
```js
// solution required
```