2018-09-30 23:01:58 +01:00
---
id: 5900f49b1000cf542c50ffad
title: 'Problem 302: Strong Achilles Numbers'
2020-11-27 19:02:05 +01:00
challengeType: 5
2019-08-05 09:17:33 -07:00
forumTopicId: 301956
2021-01-13 03:31:00 +01:00
dashedName: problem-302-strong-achilles-numbers
2018-09-30 23:01:58 +01:00
---
2020-11-27 19:02:05 +01:00
# --description--
2018-09-30 23:01:58 +01:00
2021-07-21 17:59:56 +02:00
A positive integer $n$ is powerful if $p^2$ is a divisor of $n$ for every prime factor $p$ in $n$.
2018-09-30 23:01:58 +01:00
2021-07-21 17:59:56 +02:00
A positive integer $n$ is a perfect power if $n$ can be expressed as a power of another positive integer.
2018-09-30 23:01:58 +01:00
2021-07-21 17:59:56 +02:00
A positive integer $n$ is an Achilles number if $n$ is powerful but not a perfect power. For example, 864 and 1800 are Achilles numbers: $864 = 2^5 \times 3^3$ and $1800 = 2^3 \times 3^2 \times 5^2$.
2018-09-30 23:01:58 +01:00
2021-07-21 17:59:56 +02:00
We shall call a positive integer $S$ a Strong Achilles number if both $S$ and $φ(S)$ are Achilles numbers. $φ$ denotes Euler's totient function.
2018-09-30 23:01:58 +01:00
2021-07-21 17:59:56 +02:00
For example, 864 is a Strong Achilles number: $φ(864) = 288 = 2^5 \times 3^2$. However, 1800 isn't a Strong Achilles number because: $φ(1800) = 480 = 2^5 \times 3^1 \times 5^1$.
2018-09-30 23:01:58 +01:00
2021-07-21 17:59:56 +02:00
There are 7 Strong Achilles numbers below ${10}^4$ and 656 below ${10}^8$.
2018-09-30 23:01:58 +01:00
2021-07-21 17:59:56 +02:00
How many Strong Achilles numbers are there below ${10}^{18}$?
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
# --hints--
2018-09-30 23:01:58 +01:00
2021-07-21 17:59:56 +02:00
`strongAchillesNumbers()` should return `1170060` .
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
```js
2021-07-21 17:59:56 +02:00
assert.strictEqual(strongAchillesNumbers(), 1170060);
2018-09-30 23:01:58 +01:00
```
2020-11-27 19:02:05 +01:00
# --seed--
2018-09-30 23:01:58 +01:00
2020-11-27 19:02:05 +01:00
## --seed-contents--
2018-09-30 23:01:58 +01:00
```js
2021-07-21 17:59:56 +02:00
function strongAchillesNumbers() {
2020-09-15 09:57:40 -07:00
2018-09-30 23:01:58 +01:00
return true;
}
2021-07-21 17:59:56 +02:00
strongAchillesNumbers();
2018-09-30 23:01:58 +01:00
```
2020-11-27 19:02:05 +01:00
# --solutions--
2018-09-30 23:01:58 +01:00
```js
// solution required
```