dde272c4b8
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
112 lines
2.9 KiB
Markdown
112 lines
2.9 KiB
Markdown
---
|
|
id: 699c8e045ee7cb94ed2322d7
|
|
title: "Challenge 216: Pi Day"
|
|
challengeType: 29
|
|
dashedName: challenge-216
|
|
---
|
|
|
|
# --description--
|
|
|
|
Happy pi (π) day!
|
|
|
|
Given an integer (`n`), where `n` is between 1 and 1000 (inclusive), return the `n`th decimal of π.
|
|
|
|
- Make sure to return a number not a string.
|
|
|
|
π with its first five decimals is 3.14159. So given `5` for example, return `9`, the fifth decimal.
|
|
|
|
You may have to find the first 1000 decimals of π somewhere.
|
|
|
|
# --hints--
|
|
|
|
`get_pi_decimal(5)` should return `9`.
|
|
|
|
```js
|
|
({test: () => { runPython(`
|
|
from unittest import TestCase
|
|
TestCase().assertEqual(get_pi_decimal(5), 9)`)
|
|
}})
|
|
```
|
|
|
|
`get_pi_decimal(10)` should return `5`.
|
|
|
|
```js
|
|
({test: () => { runPython(`
|
|
from unittest import TestCase
|
|
TestCase().assertEqual(get_pi_decimal(10), 5)`)
|
|
}})
|
|
```
|
|
|
|
`get_pi_decimal(22)` should return `6`.
|
|
|
|
```js
|
|
({test: () => { runPython(`
|
|
from unittest import TestCase
|
|
TestCase().assertEqual(get_pi_decimal(22), 6)`)
|
|
}})
|
|
```
|
|
|
|
`get_pi_decimal(39)` should return `7`.
|
|
|
|
```js
|
|
({test: () => { runPython(`
|
|
from unittest import TestCase
|
|
TestCase().assertEqual(get_pi_decimal(39), 7)`)
|
|
}})
|
|
```
|
|
|
|
`get_pi_decimal(76)` should return `2`.
|
|
|
|
```js
|
|
({test: () => { runPython(`
|
|
from unittest import TestCase
|
|
TestCase().assertEqual(get_pi_decimal(76), 2)`)
|
|
}})
|
|
```
|
|
|
|
`get_pi_decimal(384)` should return `4`.
|
|
|
|
```js
|
|
({test: () => { runPython(`
|
|
from unittest import TestCase
|
|
TestCase().assertEqual(get_pi_decimal(384), 4)`)
|
|
}})
|
|
```
|
|
|
|
`get_pi_decimal(601)` should return `0`.
|
|
|
|
```js
|
|
({test: () => { runPython(`
|
|
from unittest import TestCase
|
|
TestCase().assertEqual(get_pi_decimal(601), 0)`)
|
|
}})
|
|
```
|
|
|
|
`get_pi_decimal(1000)` should return `9`.
|
|
|
|
```js
|
|
({test: () => { runPython(`
|
|
from unittest import TestCase
|
|
TestCase().assertEqual(get_pi_decimal(1000), 9)`)
|
|
}})
|
|
```
|
|
|
|
# --seed--
|
|
|
|
## --seed-contents--
|
|
|
|
```py
|
|
def get_pi_decimal(n):
|
|
|
|
return n
|
|
```
|
|
|
|
# --solutions--
|
|
|
|
```py
|
|
def get_pi_decimal(n):
|
|
pi = "31415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989"
|
|
|
|
return int(pi[n])
|
|
```
|