fix(curriculum): fix challenges for russian language
This commit is contained in:
@@ -2,15 +2,18 @@
|
||||
id: 5900f36e1000cf542c50fe80
|
||||
challengeType: 5
|
||||
title: 'Problem 1: Multiples of 3 and 5'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301722
|
||||
localeTitle: 'Проблема 1: Числа, кратные 3 или 5'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Если мы перечислим все натуральные числа меньше 10, кратные 3 или 5, мы получим 3, 5, 6 и 9. Сумма этих кратных равна 23. Найдите сумму всех кратных 3 или 5 меньше значения параметра <code>number</code> . </section>
|
||||
<section id='description'>
|
||||
Если мы перечислим все натуральные числа меньше 10, кратные 3 или 5, мы получим 3, 5, 6 и 9. Сумма этих кратных равна 23. Найдите сумму всех кратных 3 или 5 меньше значения параметра <code>number</code> .
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,14 +21,14 @@ localeTitle: 'Проблема 1: Числа, кратные 3 или 5'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>multiplesOf3and5(1000)</code> должна возвращать 233168.
|
||||
testString: 'assert.strictEqual(multiplesOf3and5(1000), 233168, "<code>multiplesOf3and5(1000)</code> should return 233168.");'
|
||||
- text: <code>multiplesOf3and5(49)</code> должна возвращать 543.
|
||||
testString: 'assert.strictEqual(multiplesOf3and5(49), 543, "<code>multiplesOf3and5(49)</code> should return 543.");'
|
||||
- text: <code>multiplesOf3and5(19564)</code> должна возвращать 89301183.
|
||||
testString: 'assert.strictEqual(multiplesOf3and5(19564), 89301183, "<code>multiplesOf3and5(19564)</code> should return 89301183.");'
|
||||
- text: 'Ваша функция возвращает неправильный результат, используя наши тестовые значения.'
|
||||
testString: 'assert.strictEqual(multiplesOf3and5(8456), 16687353, "Your function is not returning the correct result using our tests values.");'
|
||||
- text: <code>multiplesOf3and5(1000)</code> should return 233168.
|
||||
testString: assert.strictEqual(multiplesOf3and5(1000), 233168);
|
||||
- text: <code>multiplesOf3and5(49)</code> should return 543.
|
||||
testString: assert.strictEqual(multiplesOf3and5(49), 543);
|
||||
- text: <code>multiplesOf3and5(19564)</code> should return 89301183.
|
||||
testString: assert.strictEqual(multiplesOf3and5(19564), 89301183);
|
||||
- text: Your function is not returning the correct result using our tests values.
|
||||
testString: assert.strictEqual(multiplesOf3and5(8456), 16687353);
|
||||
|
||||
```
|
||||
|
||||
@@ -48,14 +51,22 @@ multiplesOf3and5(1000);
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
<section id='solution'>
|
||||
|
||||
```js
|
||||
// solution required
|
||||
const multiplesOf3and5 = (number) => {
|
||||
var total = 0;
|
||||
|
||||
for(var i = 0; i < number; i++) {
|
||||
if(i % 3 == 0 || i % 5 == 0) {
|
||||
total += i;
|
||||
}
|
||||
}
|
||||
return total;
|
||||
};
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3761000cf542c50fe89
|
||||
challengeType: 5
|
||||
title: 'Problem 10: Summation of primes'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301723
|
||||
localeTitle: 'Задача 10: Суммирование простых чисел'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Сумма простых чисел ниже 10 равна 2 + 3 + 5 + 7 = 17. Найдите сумму всех простых чисел ниже n. </section>
|
||||
<section id='description'>
|
||||
Сумма простых чисел ниже 10 равна 2 + 3 + 5 + 7 = 17. Найдите сумму всех простых чисел ниже n.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,14 +21,14 @@ localeTitle: 'Задача 10: Суммирование простых чисе
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>primeSummation(17)</code> должен вернуть 41.
|
||||
testString: 'assert.strictEqual(primeSummation(17), 41, "<code>primeSummation(17)</code> should return 41.");'
|
||||
- text: <code>primeSummation(2001)</code> должен вернуть 277050.
|
||||
testString: 'assert.strictEqual(primeSummation(2001), 277050, "<code>primeSummation(2001)</code> should return 277050.");'
|
||||
- text: <code>primeSummation(140759)</code> должен вернуть 873608362.
|
||||
testString: 'assert.strictEqual(primeSummation(140759), 873608362, "<code>primeSummation(140759)</code> should return 873608362.");'
|
||||
- text: <code>primeSummation(2000000)</code> должен вернуть 142913828922.
|
||||
testString: 'assert.strictEqual(primeSummation(2000000), 142913828922, "<code>primeSummation(2000000)</code> should return 142913828922.");'
|
||||
- text: <code>primeSummation(17)</code> should return 41.
|
||||
testString: assert.strictEqual(primeSummation(17), 41);
|
||||
- text: <code>primeSummation(2001)</code> should return 277050.
|
||||
testString: assert.strictEqual(primeSummation(2001), 277050);
|
||||
- text: <code>primeSummation(140759)</code> should return 873608362.
|
||||
testString: assert.strictEqual(primeSummation(140759), 873608362);
|
||||
- text: <code>primeSummation(2000000)</code> should return 142913828922.
|
||||
testString: assert.strictEqual(primeSummation(2000000), 142913828922);
|
||||
|
||||
```
|
||||
|
||||
@@ -48,14 +51,31 @@ primeSummation(2000000);
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
<section id='solution'>
|
||||
|
||||
```js
|
||||
// solution required
|
||||
//noprotect
|
||||
function primeSummation(n) {
|
||||
if (n < 3) { return 0 };
|
||||
let nums = [0, 0, 2];
|
||||
for (let i = 3; i < n; i += 2){
|
||||
nums.push(i);
|
||||
nums.push(0);
|
||||
}
|
||||
let sum = 2;
|
||||
for (let i = 3; i < n; i += 2){
|
||||
if (nums[i] !== 0){
|
||||
sum += nums[i];
|
||||
for (let j = i*i; j < n; j += i){
|
||||
nums[j] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,23 +2,29 @@
|
||||
id: 5900f3d01000cf542c50fee3
|
||||
challengeType: 5
|
||||
title: 'Problem 100: Arranged probability'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301724
|
||||
localeTitle: 'Задача 100: Устроенная вероятность'
|
||||
---
|
||||
|
||||
## Description
|
||||
undefined
|
||||
<section id='description'>
|
||||
If a box contains twenty-one coloured discs, composed of fifteen blue discs and six red discs, and two discs were taken at random, it can be seen that the probability of taking two blue discs, P(BB) = (15/21)×(14/20) = 1/2.
|
||||
The next such arrangement, for which there is exactly 50% chance of taking two blue discs at random, is a box containing eighty-five blue discs and thirty-five red discs.
|
||||
By finding the first arrangement to contain over 1012 = 1,000,000,000,000 discs in total, determine the number of blue discs that the box would contain.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
undefined
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
<section id='tests'>
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: ''
|
||||
testString: 'assert.strictEqual(euler100(), 756872327473, "<code>euler100()</code> should return 756872327473.");'
|
||||
- text: <code>euler100()</code> should return 756872327473.
|
||||
testString: assert.strictEqual(euler100(), 756872327473);
|
||||
|
||||
```
|
||||
|
||||
@@ -41,8 +47,6 @@ euler100();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -51,4 +55,5 @@ euler100();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3d21000cf542c50fee4
|
||||
challengeType: 5
|
||||
title: 'Problem 101: Optimum polynomial'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301725
|
||||
localeTitle: 'Задача 101: Оптимальный полином'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Если нам представить первые k членов последовательности, то с уверенностью нельзя сказать значение следующего члена, так как существует бесконечно много полиномиальных функций, которые могут моделировать последовательность. В качестве примера рассмотрим последовательность чисел куба. Это определяется производящей функцией, un = n3: 1, 8, 27, 64, 125, 216, ... Предположим, что нам дали только первые два члена этой последовательности. Работая над принципом, что «просто лучше», мы должны принять линейную зависимость и предсказать, что следующий термин будет равен 15 (общая разница 7). Даже если нам были представлены первые три термина, по тому же принципу простоты, следует принять квадратичную зависимость. Будем определять OP (k, n) как n-й член оптимальной производящей полиномы функции для первых k членов последовательности. Должно быть ясно, что OP (k, n) будет точно генерировать члены последовательности для n ≤ k, и потенциально первый неправильный член (FIT) будет OP (k, k + 1); в этом случае мы будем называть это плохим OP (BOP). В качестве основы, если бы нам дали только первый член последовательности, было бы разумнее предполагать постоянство; т. е. при n ≥ 2, OP (1, n) = u1. Следовательно, для кубической последовательности мы получаем следующие OP: <p> OP (1, n) = 1 1, 1, 1, 1, ... OP (2, n) = 7n-6 1, 8, 15, ... OP (3, n) = 6n2-11n + 6 1, 8, 27, 58, ... OP (4, n) = n3 1, 8, 27, 64, 125, ... </p><p> Очевидно, что для k ≥ 4 не существует BOP. Рассматривая сумму FIT, генерируемых BOP (указанную красным выше), получаем 1 + 15 + 58 = 74. Рассмотрим следующую производящую функцию многочлена десятой степени: un = 1 - n + n2 - n3 + n4 - n5 + n6 - n7 + n8 - n9 + n10 Найти сумму FIT для BOP. </p></section>
|
||||
<section id='description'>
|
||||
Если нам представить первые k членов последовательности, то с уверенностью нельзя сказать значение следующего члена, так как существует бесконечно много полиномиальных функций, которые могут моделировать последовательность. В качестве примера рассмотрим последовательность чисел куба. Это определяется производящей функцией, un = n3: 1, 8, 27, 64, 125, 216, ... Предположим, что нам дали только первые два члена этой последовательности. Работая над принципом, что «просто лучше», мы должны принять линейную зависимость и предсказать, что следующий термин будет равен 15 (общая разница 7). Даже если нам были представлены первые три термина, по тому же принципу простоты, следует принять квадратичную зависимость. Будем определять OP (k, n) как n-й член оптимальной производящей полиномы функции для первых k членов последовательности. Должно быть ясно, что OP (k, n) будет точно генерировать члены последовательности для n ≤ k, и потенциально первый неправильный член (FIT) будет OP (k, k + 1); в этом случае мы будем называть это плохим OP (BOP). В качестве основы, если бы нам дали только первый член последовательности, было бы разумнее предполагать постоянство; т. е. при n ≥ 2, OP (1, n) = u1. Следовательно, для кубической последовательности мы получаем следующие OP: <p> OP (1, n) = 1 1, 1, 1, 1, ... OP (2, n) = 7n-6 1, 8, 15, ... OP (3, n) = 6n2-11n + 6 1, 8, 27, 58, ... OP (4, n) = n3 1, 8, 27, 64, 125, ... </p><p> Очевидно, что для k ≥ 4 не существует BOP. Рассматривая сумму FIT, генерируемых BOP (указанную красным выше), получаем 1 + 15 + 58 = 74. Рассмотрим следующую производящую функцию многочлена десятой степени: un = 1 - n + n2 - n3 + n4 - n5 + n6 - n7 + n8 - n9 + n10 Найти сумму FIT для BOP. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 101: Оптимальный полином'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler101()</code> должен вернуть 37076114526.
|
||||
testString: 'assert.strictEqual(euler101(), 37076114526, "<code>euler101()</code> should return 37076114526.");'
|
||||
- text: <code>euler101()</code> should return 37076114526.
|
||||
testString: assert.strictEqual(euler101(), 37076114526);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler101();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler101();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,24 @@
|
||||
id: 5900f3d21000cf542c50fee5
|
||||
challengeType: 5
|
||||
title: 'Problem 102: Triangle containment'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301726
|
||||
localeTitle: 'Проблема 102: Сохранение треугольника'
|
||||
---
|
||||
|
||||
## Description
|
||||
undefined
|
||||
<section id='description'>
|
||||
Three distinct points are plotted at random on a Cartesian plane, for which -1000 ≤ x, y ≤ 1000, such that a triangle is formed.
|
||||
Consider the following two triangles:
|
||||
A(-340,495), B(-153,-910), C(835,-947)
|
||||
X(-175,41), Y(-421,-714), Z(574,-645)
|
||||
It can be verified that triangle ABC contains the origin, whereas triangle XYZ does not.
|
||||
Using triangles.txt (right click and 'Save Link/Target As...'), a 27K text file containing the co-ordinates of one thousand "random" triangles, find the number of triangles for which the interior contains the origin.
|
||||
NOTE: The first two examples in the file represent the triangles in the example given above.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +27,8 @@ undefined
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: ''
|
||||
testString: 'assert.strictEqual(euler102(), 228, "<code>euler102()</code> should return 228.");'
|
||||
- text: <code>euler102()</code> should return 228.
|
||||
testString: assert.strictEqual(euler102(), 228);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +51,6 @@ euler102();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +59,5 @@ euler102();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3d61000cf542c50fee7
|
||||
challengeType: 5
|
||||
title: 'Problem 103: Special subset sums: optimum'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301727
|
||||
localeTitle: 'Задача 103: Специальные суммы подмножества: оптимальные'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Пусть S (A) представляет сумму элементов из множества A размера n. Мы будем называть это специальным набором сумм, если для любых двух непустых непересекающихся подмножеств B и C справедливы следующие свойства: S (B) ≠ S (C); т. е. суммы подмножеств не могут быть равны. Если B содержит больше элементов, чем C, то S (B)> S (C). Если S (A) минимизировано для данного n, мы назовем его оптимальным специальным набором сумм. Первые пять оптимальных специальных наборов сумм приведены ниже. n = 1: {1} n = 2: {1, 2} n = 3: {2, 3, 4} n = 4: {3, 5, 6, 7} n = 5: {6, 9, 11 , 12, 13}. Кажется, что для данного оптимального множества A = {a1, a2, ..., an} следующий оптимальный набор имеет вид B = {b, a1 + b, a2 + b,. .., an + b}, где b является «средним» элементом предыдущей строки. Применяя это «правило», мы ожидаем, что оптимальное множество для n = 6 будет A = {11, 17, 20, 22, 23, 24}, причем S (A) = 117. Однако это не оптимальный набор , поскольку мы просто применили алгоритм для обеспечения почти оптимального набора. Оптимальным для n = 6 является A = {11, 18, 19, 20, 22, 25}, с S (A) = 115 и соответствующей заданной строкой: 111819202225. Учитывая, что A - оптимальная специальная сумма, установленная для n = 7, найдите свою строку набора. ПРИМЕЧАНИЕ. Эта проблема связана с проблемой 105 и проблемой 106. </section>
|
||||
<section id='description'>
|
||||
Пусть S (A) представляет сумму элементов из множества A размера n. Мы будем называть это специальным набором сумм, если для любых двух непустых непересекающихся подмножеств B и C справедливы следующие свойства: S (B) ≠ S (C); т. е. суммы подмножеств не могут быть равны. Если B содержит больше элементов, чем C, то S (B)> S (C). Если S (A) минимизировано для данного n, мы назовем его оптимальным специальным набором сумм. Первые пять оптимальных специальных наборов сумм приведены ниже. n = 1: {1} n = 2: {1, 2} n = 3: {2, 3, 4} n = 4: {3, 5, 6, 7} n = 5: {6, 9, 11 , 12, 13}. Кажется, что для данного оптимального множества A = {a1, a2, ..., an} следующий оптимальный набор имеет вид B = {b, a1 + b, a2 + b,. .., an + b}, где b является «средним» элементом предыдущей строки. Применяя это «правило», мы ожидаем, что оптимальное множество для n = 6 будет A = {11, 17, 20, 22, 23, 24}, причем S (A) = 117. Однако это не оптимальный набор , поскольку мы просто применили алгоритм для обеспечения почти оптимального набора. Оптимальным для n = 6 является A = {11, 18, 19, 20, 22, 25}, с S (A) = 115 и соответствующей заданной строкой: 111819202225. Учитывая, что A - оптимальная специальная сумма, установленная для n = 7, найдите свою строку набора. ПРИМЕЧАНИЕ. Эта проблема связана с проблемой 105 и проблемой 106.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 103: Специальные суммы подмнож
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler103()</code> должен вернуть 20313839404245.
|
||||
testString: 'assert.strictEqual(euler103(), 20313839404245, "<code>euler103()</code> should return 20313839404245.");'
|
||||
- text: <code>euler103()</code> should return 20313839404245.
|
||||
testString: assert.strictEqual(euler103(), 20313839404245);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler103();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler103();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3d51000cf542c50fee6
|
||||
challengeType: 5
|
||||
title: 'Problem 104: Pandigital Fibonacci ends'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301728
|
||||
localeTitle: 'Задача 104: Финальные фибоначчиевые фишки'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Последовательность Фибоначчи определяется рекуррентным соотношением: Fn = Fn-1 + Fn-2, где F1 = 1 и F2 = 1. Оказывается, что F541, содержащий 113 цифр, является первым числом Фибоначчи, для которого последние девять цифры 1-9 pandigital (содержат все цифры от 1 до 9, но не обязательно в порядке). И F2749, который содержит 575 цифр, является первым числом Фибоначчи, для которого первые девять цифр являются 1-9 pandigital. Учитывая, что Fk является первым числом Фибоначчи, для которого первые девять цифр И последние девять цифр являются 1-9 pandigital, найдите k. </section>
|
||||
<section id='description'>
|
||||
Последовательность Фибоначчи определяется рекуррентным соотношением: Fn = Fn-1 + Fn-2, где F1 = 1 и F2 = 1. Оказывается, что F541, содержащий 113 цифр, является первым числом Фибоначчи, для которого последние девять цифры 1-9 pandigital (содержат все цифры от 1 до 9, но не обязательно в порядке). И F2749, который содержит 575 цифр, является первым числом Фибоначчи, для которого первые девять цифр являются 1-9 pandigital. Учитывая, что Fk является первым числом Фибоначчи, для которого первые девять цифр И последние девять цифр являются 1-9 pandigital, найдите k.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 104: Финальные фибоначчиевые ф
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler104()</code> должен возвращать 329468.
|
||||
testString: 'assert.strictEqual(euler104(), 329468, "<code>euler104()</code> should return 329468.");'
|
||||
- text: <code>euler104()</code> should return 329468.
|
||||
testString: assert.strictEqual(euler104(), 329468);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler104();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler104();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3d61000cf542c50fee8
|
||||
challengeType: 5
|
||||
title: 'Problem 105: Special subset sums: testing'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301729
|
||||
localeTitle: 'Задача 105: специальные суммы подмножеств: тестирование'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Пусть S (A) представляет сумму элементов из множества A размера n. Мы будем называть это специальным набором сумм, если для любых двух непустых непересекающихся подмножеств B и C справедливы следующие свойства: S (B) ≠ S (C); т. е. суммы подмножеств не могут быть равны. Если B содержит больше элементов, чем C, то S (B)> S (C). Например, {81, 88, 75, 42, 87, 84, 86, 65} не является специальной суммой, потому что 65 + 87 + 88 = 75 + 81 + 84, тогда как {157, 150, 164, 119, 79 , 159, 161, 139, 158} удовлетворяет обоим правилам для всех возможных комбинаций пар подмножеств и S (A) = 1286. Используя sets.txt (правый щелчок и «Сохранить ссылку / цель как ...»), текстовый файл 4K с сотнями наборов, содержащих от семи до двенадцати элементов (два приведенных выше примера являются первыми двумя наборами в файле), определите все специальные суммы, A1, A2, ..., Ak и найдем значение S ( A1) + S (A2) + ... + S (Ak). ПРИМЕЧАНИЕ. Эта проблема связана с проблемой 103 и задачей 106. </section>
|
||||
<section id='description'>
|
||||
Пусть S (A) представляет сумму элементов из множества A размера n. Мы будем называть это специальным набором сумм, если для любых двух непустых непересекающихся подмножеств B и C справедливы следующие свойства: S (B) ≠ S (C); т. е. суммы подмножеств не могут быть равны. Если B содержит больше элементов, чем C, то S (B)> S (C). Например, {81, 88, 75, 42, 87, 84, 86, 65} не является специальной суммой, потому что 65 + 87 + 88 = 75 + 81 + 84, тогда как {157, 150, 164, 119, 79 , 159, 161, 139, 158} удовлетворяет обоим правилам для всех возможных комбинаций пар подмножеств и S (A) = 1286. Используя sets.txt (правый щелчок и «Сохранить ссылку / цель как ...»), текстовый файл 4K с сотнями наборов, содержащих от семи до двенадцати элементов (два приведенных выше примера являются первыми двумя наборами в файле), определите все специальные суммы, A1, A2, ..., Ak и найдем значение S ( A1) + S (A2) + ... + S (Ak). ПРИМЕЧАНИЕ. Эта проблема связана с проблемой 103 и задачей 106.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 105: специальные суммы подмнож
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler105()</code> должен возвращать 73702.
|
||||
testString: 'assert.strictEqual(euler105(), 73702, "<code>euler105()</code> should return 73702.");'
|
||||
- text: <code>euler105()</code> should return 73702.
|
||||
testString: assert.strictEqual(euler105(), 73702);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler105();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler105();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3d71000cf542c50fee9
|
||||
challengeType: 5
|
||||
title: 'Problem 106: Special subset sums: meta-testing'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301730
|
||||
localeTitle: 'Задача 106: Специальные суммы подмножества: мета-тестирование'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Пусть S (A) представляет сумму элементов из множества A размера n. Мы будем называть это специальным набором сумм, если для любых двух непустых непересекающихся подмножеств B и C справедливы следующие свойства: S (B) ≠ S (C); т. е. суммы подмножеств не могут быть равны. Если B содержит больше элементов, чем C, то S (B)> S (C). Для этой задачи будем считать, что данное множество содержит n строго возрастающих элементов и оно уже удовлетворяет второму правилу. Удивительно, но из 25 возможных пар подмножеств, которые могут быть получены из множества, для которого n = 4, только 1 из этих пар необходимо проверить на равенство (первое правило). Аналогично, когда n = 7, необходимо проверить только 70 из 966 подмножеств. При n = 12, сколько из 261625 подмножеств, которые могут быть получены, необходимо проверить на равенство? ПРИМЕЧАНИЕ. Эта проблема связана с проблемой 103 и проблемой 105. </section>
|
||||
<section id='description'>
|
||||
Пусть S (A) представляет сумму элементов из множества A размера n. Мы будем называть это специальным набором сумм, если для любых двух непустых непересекающихся подмножеств B и C справедливы следующие свойства: S (B) ≠ S (C); т. е. суммы подмножеств не могут быть равны. Если B содержит больше элементов, чем C, то S (B)> S (C). Для этой задачи будем считать, что данное множество содержит n строго возрастающих элементов и оно уже удовлетворяет второму правилу. Удивительно, но из 25 возможных пар подмножеств, которые могут быть получены из множества, для которого n = 4, только 1 из этих пар необходимо проверить на равенство (первое правило). Аналогично, когда n = 7, необходимо проверить только 70 из 966 подмножеств. При n = 12, сколько из 261625 подмножеств, которые могут быть получены, необходимо проверить на равенство? ПРИМЕЧАНИЕ. Эта проблема связана с проблемой 103 и проблемой 105.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 106: Специальные суммы подмнож
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler106()</code> должен возвращать 21384.
|
||||
testString: 'assert.strictEqual(euler106(), 21384, "<code>euler106()</code> should return 21384.");'
|
||||
- text: <code>euler106()</code> should return 21384.
|
||||
testString: assert.strictEqual(euler106(), 21384);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler106();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler106();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3d91000cf542c50feea
|
||||
challengeType: 5
|
||||
title: 'Problem 107: Minimal network'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301731
|
||||
localeTitle: 'Проблема 107: Минимальная сеть'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Следующая неориентированная сеть состоит из семи вершин и двенадцати ребер с общим весом 243. <p> Та же сеть может быть представлена матрицей ниже. ABCDEFG A-161221 --- B16--1720-- C12--28-31- D211728-181923 E-20-18--11 F - 3119--27 G --- 231127- Однако возможно оптимизировать сеть, удалив некоторые ребра и все еще убедитесь, что все точки в сети остаются подключенными. Ниже показана сеть, которая обеспечивает максимальную экономию. Он имеет вес 93, что составляет экономию 243 - 93 = 150 от исходной сети. </p><p> Используя network.txt (щелчок правой кнопкой мыши и «Сохранить ссылку / цель как ...»), текстовый файл 6K, содержащий сеть со сорока вершинами и представленную в матричной форме, найдет максимальную экономию, которая может быть достигнута путем удаления избыточных краев в то время как что сеть остается подключенной. </p></section>
|
||||
<section id='description'>
|
||||
Следующая неориентированная сеть состоит из семи вершин и двенадцати ребер с общим весом 243. <p> Та же сеть может быть представлена матрицей ниже. ABCDEFG A-161221 --- B16--1720-- C12--28-31- D211728-181923 E-20-18--11 F - 3119--27 G --- 231127- Однако возможно оптимизировать сеть, удалив некоторые ребра и все еще убедитесь, что все точки в сети остаются подключенными. Ниже показана сеть, которая обеспечивает максимальную экономию. Он имеет вес 93, что составляет экономию 243 - 93 = 150 от исходной сети. </p><p> Используя network.txt (щелчок правой кнопкой мыши и «Сохранить ссылку / цель как ...»), текстовый файл 6K, содержащий сеть со сорока вершинами и представленную в матричной форме, найдет максимальную экономию, которая может быть достигнута путем удаления избыточных краев в то время как что сеть остается подключенной. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Проблема 107: Минимальная сеть'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler107()</code> должен вернуть 259679.
|
||||
testString: 'assert.strictEqual(euler107(), 259679, "<code>euler107()</code> should return 259679.");'
|
||||
- text: <code>euler107()</code> should return 259679.
|
||||
testString: assert.strictEqual(euler107(), 259679);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler107();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler107();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3d91000cf542c50feeb
|
||||
challengeType: 5
|
||||
title: 'Problem 108: Diophantine Reciprocals I'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301732
|
||||
localeTitle: 'Задача 108: диофантовы входы I'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> В следующем уравнении x, y и n - целые положительные числа. 1 / <var>x</var> + 1 / <var>y</var> = 1 / <var>n</var> Для <var>n</var> = 4 существует ровно три различных решения: 1/5 + 1/20 = 1/4 <br> 1/6 + 1/12 = 1/4 <br> 1/8 + 1/8 = 1/4. Какое наименьшее значение <var>n,</var> для которого количество различных решений превышает одну тысячу? </section>
|
||||
<section id='description'>
|
||||
В следующем уравнении x, y и n - целые положительные числа. 1 / <var>x</var> + 1 / <var>y</var> = 1 / <var>n</var> Для <var>n</var> = 4 существует ровно три различных решения: 1/5 + 1/20 = 1/4 <br> 1/6 + 1/12 = 1/4 <br> 1/8 + 1/8 = 1/4. Какое наименьшее значение <var>n,</var> для которого количество различных решений превышает одну тысячу?
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 108: диофантовы входы I'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>diophantineOne()</code> должен вернуть 180180.
|
||||
testString: 'assert.strictEqual(diophantineOne(), 180180, "<code>diophantineOne()</code> should return 180180.");'
|
||||
- text: <code>diophantineOne()</code> should return 180180.
|
||||
testString: assert.strictEqual(diophantineOne(), 180180);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ diophantineOne();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ diophantineOne();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,23 +2,27 @@
|
||||
id: 5900f3db1000cf542c50feec
|
||||
challengeType: 5
|
||||
title: 'Problem 109: Darts'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301733
|
||||
localeTitle: 'Задача 109: Дартс'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> В игре дартс игрок бросает три дротика на целевую доску, которая разделена на двадцать одинаковых размеров, пронумерованных от одного до двадцати. <p> Оценка дротика определяется количеством области, в которую попадает дротик. Дарт, вылетающий за пределы красного / зеленого внешнего кольца, имеет нулевое значение. Черные и кремовые области внутри этого кольца представляют собой одиночные баллы. Тем не менее, красное / зеленое внешнее кольцо и среднее кольцо оценивают двойные и высокие частоты соответственно. В центре доски расположены два концентрических круга, называемых бычьей областью или бычьим глазом. Внешний бык стоит 25 очков, а внутренний бык - в два раза, стоит 50 очков. Существует множество вариаций правил, но в самой популярной игре игроки начнут со счетом 301 или 501, и первым игроком, который снизит свою общую сумму до нуля, станет победителем. Тем не менее, нормально играть в систему «удваивает», а это означает, что игрок должен приземлить двойную (в том числе двойную бычьи глаза в центре доски) на свой последний дротик, чтобы выиграть; любой другой дротик, который уменьшил бы их общее количество до одного или ниже, означает, что оценка для этого набора из трех дротиков является «бюстом». Когда игрок может закончить свой текущий счет, он называется «проверка», а самая высокая проверка - 170: T20 T20 D25 (два тройных 20-х и двойной бык). Есть ровно одиннадцать различных способов проверки на счет 6: </p><p> D3 </p><p> D1 D2 </p><p> S2 D2 </p><p> D2 D1 </p><p> S4 D1 </p><p> S1 S1 D2 S1 T1 D1 S1 S3 D1 D1 D1 D1 D1 S2 D1 S2 S2 D1 </p><p> Обратите внимание, что D1 D2 считается отличным от D2 D1, поскольку они заканчиваются в разных двухместных. Однако комбинация S1 T1 D1 считается такой же, как T1 S1 D1. Кроме того, мы не будем включать пропуски при рассмотрении комбинаций; например, D3 совпадает с 0 D3 и 0 0 D3. Невероятно 42336 различных способов проверки в целом. Сколько различных способов может пройти проверка игрока со счетом менее 100? </p></section>
|
||||
<section id='description'>
|
||||
В игре дартс игрок бросает три дротика на целевую доску, которая разделена на двадцать одинаковых размеров, пронумерованных от одного до двадцати. <p> Оценка дротика определяется количеством области, в которую попадает дротик. Дарт, вылетающий за пределы красного / зеленого внешнего кольца, имеет нулевое значение. Черные и кремовые области внутри этого кольца представляют собой одиночные баллы. Тем не менее, красное / зеленое внешнее кольцо и среднее кольцо оценивают двойные и высокие частоты соответственно. В центре доски расположены два концентрических круга, называемых бычьей областью или бычьим глазом. Внешний бык стоит 25 очков, а внутренний бык - в два раза, стоит 50 очков. Существует множество вариаций правил, но в самой популярной игре игроки начнут со счетом 301 или 501, и первым игроком, который снизит свою общую сумму до нуля, станет победителем. Тем не менее, нормально играть в систему «удваивает», а это означает, что игрок должен приземлить двойную (в том числе двойную бычьи глаза в центре доски) на свой последний дротик, чтобы выиграть; любой другой дротик, который уменьшил бы их общее количество до одного или ниже, означает, что оценка для этого набора из трех дротиков является «бюстом». Когда игрок может закончить свой текущий счет, он называется «проверка», а самая высокая проверка - 170: T20 T20 D25 (два тройных 20-х и двойной бык). Есть ровно одиннадцать различных способов проверки на счет 6: </p><p> D3 </p><p> D1 D2 </p><p> S2 D2 </p><p> D2 D1 </p><p> S4 D1 </p><p> S1 S1 D2 S1 T1 D1 S1 S3 D1 D1 D1 D1 D1 S2 D1 S2 S2 D1 </p><p> Обратите внимание, что D1 D2 считается отличным от D2 D1, поскольку они заканчиваются в разных двухместных. Однако комбинация S1 T1 D1 считается такой же, как T1 S1 D1. Кроме того, мы не будем включать пропуски при рассмотрении комбинаций; например, D3 совпадает с 0 D3 и 0 0 D3. Невероятно 42336 различных способов проверки в целом. Сколько различных способов может пройти проверка игрока со счетом менее 100? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
undefined
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
<section id='tests'>
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: ''
|
||||
testString: 'assert.strictEqual(euler109(), 38182, "<code>euler109()</code> should return 38182.");'
|
||||
- text: <code>euler109()</code> should return 38182.
|
||||
testString: assert.strictEqual(euler109(), 38182);
|
||||
|
||||
```
|
||||
|
||||
@@ -41,8 +45,6 @@ euler109();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -51,4 +53,5 @@ euler109();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3781000cf542c50fe8a
|
||||
challengeType: 5
|
||||
title: 'Problem 11: Largest product in a grid'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301734
|
||||
localeTitle: 'Проблема 11: Крупнейший продукт в сетке'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> В сетке 20 × 20 ниже четыре цифры по диагональной линии отмечены красным цветом. <div style="text-align: center;"> 08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 </div><div style="text-align: center;"> 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00 </div><div style="text-align: center;"> 81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65 </div><div style="text-align: center;"> 52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91 </div><div style="text-align: center;"> 22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80 </div><div style="text-align: center;"> 24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50 </div><div style="text-align: center;"> 32 98 81 28 64 23 67 10 <span style="color: red"><b>26</b></span> 38 40 67 59 54 70 66 18 38 64 70 </div><div style="text-align: center;"> 67 26 20 68 02 62 12 20 95 <span style="color: red"><b>63</b></span> 94 39 63 08 40 91 66 49 94 21 </div><div style="text-align: center;"> 24 55 58 05 66 73 99 26 97 17 <span style="color: red"><b>78</b></span> 78 96 83 14 88 34 89 63 72 </div><div style="text-align: center;"> 21 36 23 09 75 00 76 44 20 45 35 <span style="color: red"><b>14</b></span> 00 61 33 97 34 31 33 95 </div><div style="text-align: center;"> 78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92 </div><div style="text-align: center;"> 16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57 </div><div style="text-align: center;"> 86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58 </div><div style="text-align: center;"> 19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40 </div><div style="text-align: center;"> 04 52 08 83 97 35 99 16 07 97 57 32 16 26 26 79 33 27 98 66 </div><div style="text-align: center;"> 88 36 68 87 57 62 20 72 03 46 33 67 46 55 12 32 63 93 53 69 </div><div style="text-align: center;"> 04 42 16 73 38 25 39 11 24 94 72 18 08 46 29 32 40 62 76 36 </div><div style="text-align: center;"> 20 69 36 41 72 30 23 88 34 62 99 69 82 67 59 85 74 04 36 16 </div><div style="text-align: center;"> 20 73 35 29 78 31 90 01 74 31 49 71 48 86 81 16 23 57 05 54 </div><div style="text-align: center;"> 01 70 54 71 83 51 54 69 16 92 33 48 61 43 52 01 89 19 67 48 </div><p> Произведение этих чисел составляет 26 × 63 × 78 × 14 = 1788696. Каково наибольшее произведение четырех соседних чисел в том же направлении (вверх, вниз, влево, вправо, или по диагонали) в данном <code>arr</code> сетке? </p></section>
|
||||
<section id='description'>
|
||||
В сетке 20 × 20 ниже четыре цифры по диагональной линии отмечены красным цветом. <div style="text-align: center;"> 08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 </div><div style="text-align: center;"> 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00 </div><div style="text-align: center;"> 81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65 </div><div style="text-align: center;"> 52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91 </div><div style="text-align: center;"> 22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80 </div><div style="text-align: center;"> 24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50 </div><div style="text-align: center;"> 32 98 81 28 64 23 67 10 <span style="color: red"><b>26</b></span> 38 40 67 59 54 70 66 18 38 64 70 </div><div style="text-align: center;"> 67 26 20 68 02 62 12 20 95 <span style="color: red"><b>63</b></span> 94 39 63 08 40 91 66 49 94 21 </div><div style="text-align: center;"> 24 55 58 05 66 73 99 26 97 17 <span style="color: red"><b>78</b></span> 78 96 83 14 88 34 89 63 72 </div><div style="text-align: center;"> 21 36 23 09 75 00 76 44 20 45 35 <span style="color: red"><b>14</b></span> 00 61 33 97 34 31 33 95 </div><div style="text-align: center;"> 78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92 </div><div style="text-align: center;"> 16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57 </div><div style="text-align: center;"> 86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58 </div><div style="text-align: center;"> 19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40 </div><div style="text-align: center;"> 04 52 08 83 97 35 99 16 07 97 57 32 16 26 26 79 33 27 98 66 </div><div style="text-align: center;"> 88 36 68 87 57 62 20 72 03 46 33 67 46 55 12 32 63 93 53 69 </div><div style="text-align: center;"> 04 42 16 73 38 25 39 11 24 94 72 18 08 46 29 32 40 62 76 36 </div><div style="text-align: center;"> 20 69 36 41 72 30 23 88 34 62 99 69 82 67 59 85 74 04 36 16 </div><div style="text-align: center;"> 20 73 35 29 78 31 90 01 74 31 49 71 48 86 81 16 23 57 05 54 </div><div style="text-align: center;"> 01 70 54 71 83 51 54 69 16 92 33 48 61 43 52 01 89 19 67 48 </div><p> Произведение этих чисел составляет 26 × 63 × 78 × 14 = 1788696. Каково наибольшее произведение четырех соседних чисел в том же направлении (вверх, вниз, влево, вправо, или по диагонали) в данном <code>arr</code> сетке? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,10 +21,10 @@ localeTitle: 'Проблема 11: Крупнейший продукт в сет
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>largestGridProduct(grid)</code> должен возвращать 70600674.
|
||||
testString: 'assert.strictEqual(largestGridProduct(grid), 70600674, "<code>largestGridProduct(grid)</code> should return 70600674.");'
|
||||
- text: <code>largestGridProduct(testGrid)</code> должен возвращать 14169081.
|
||||
testString: 'assert.strictEqual(largestGridProduct(testGrid), 14169081, "<code>largestGridProduct(testGrid)</code> should return 14169081.");'
|
||||
- text: <code>largestGridProduct(grid)</code> should return 70600674.
|
||||
testString: assert.strictEqual(largestGridProduct(grid), 70600674);
|
||||
- text: <code>largestGridProduct(testGrid)</code> should return 14169081.
|
||||
testString: assert.strictEqual(largestGridProduct(testGrid), 14169081);
|
||||
|
||||
```
|
||||
|
||||
@@ -76,14 +79,86 @@ largestGridProduct(testGrid);
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
<section id='solution'>
|
||||
|
||||
```js
|
||||
// solution required
|
||||
function largestGridProduct(arr) {
|
||||
let maxProduct = 0;
|
||||
let currProduct = 0;
|
||||
|
||||
function maxProductChecker(n) {
|
||||
if (n > maxProduct) {
|
||||
return maxProduct = n;
|
||||
}
|
||||
}
|
||||
|
||||
// loop rows
|
||||
for (let r = 0; r < arr.length; r++) {
|
||||
// loop columns
|
||||
for (let c = 0; c < arr[r].length; c++) {
|
||||
const limit = arr[r].length - 3;
|
||||
|
||||
// check horizontal
|
||||
if (c < limit) {
|
||||
currProduct = arr[r][c] * arr[r][c + 1] * arr[r][c + 2] * arr[r][c + 3];
|
||||
maxProductChecker(currProduct);
|
||||
}
|
||||
|
||||
// check vertical
|
||||
if (r < limit) {
|
||||
currProduct = arr[r][c] * arr[r + 1][c] * arr[r + 2][c] * arr[r + 3][c];
|
||||
maxProductChecker(currProduct);
|
||||
}
|
||||
|
||||
// check diagonal [\]
|
||||
if (c < limit && r < limit) {
|
||||
currProduct = arr[r][c] * arr[r + 1][c + 1] * arr[r + 2][c + 2] * arr[r + 3][c + 3];
|
||||
maxProductChecker(currProduct);
|
||||
}
|
||||
|
||||
// check diagonal [/]
|
||||
if (c > 3 && r < limit) {
|
||||
currProduct = arr[r][c] * arr[r + 1][c - 1] * arr[r + 2][c - 2] * arr[r + 3][c - 3];
|
||||
maxProductChecker(currProduct);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return maxProduct;
|
||||
}
|
||||
|
||||
const grid = [ [8, 2, 22, 97, 38, 15, 0, 40, 0, 75, 4, 5, 7, 78, 52, 12, 50, 77, 91, 8],
|
||||
[49, 49, 99, 40, 17, 81, 18, 57, 60, 87, 17, 40, 98, 43, 69, 48, 4, 56, 62, 0],
|
||||
[81, 49, 31, 73, 55, 79, 14, 29, 93, 71, 40, 67, 53, 88, 30, 3, 49, 13, 36, 65],
|
||||
[52, 70, 95, 23, 4, 60, 11, 42, 69, 24, 68, 56, 1, 32, 56, 71, 37, 2, 36, 91],
|
||||
[22, 31, 16, 71, 51, 67, 63, 89, 41, 92, 36, 54, 22, 40, 40, 28, 66, 33, 13, 80],
|
||||
[24, 47, 32, 60, 99, 3, 45, 2, 44, 75, 33, 53, 78, 36, 84, 20, 35, 17, 12, 50],
|
||||
[32, 98, 81, 28, 64, 23, 67, 10, 26, 38, 40, 67, 59, 54, 70, 66, 18, 38, 64, 70],
|
||||
[67, 26, 20, 68, 2, 62, 12, 20, 95, 63, 94, 39, 63, 8, 40, 91, 66, 49, 94, 21],
|
||||
[24, 55, 58, 5, 66, 73, 99, 26, 97, 17, 78, 78, 96, 83, 14, 88, 34, 89, 63, 72],
|
||||
[21, 36, 23, 9, 75, 0, 76, 44, 20, 45, 35, 14, 0, 61, 33, 97, 34, 31, 33, 95],
|
||||
[78, 17, 53, 28, 22, 75, 31, 67, 15, 94, 3, 80, 4, 62, 16, 14, 9, 53, 56, 92],
|
||||
[16, 39, 5, 42, 96, 35, 31, 47, 55, 58, 88, 24, 0, 17, 54, 24, 36, 29, 85, 57],
|
||||
[86, 56, 0, 48, 35, 71, 89, 7, 5, 44, 44, 37, 44, 60, 21, 58, 51, 54, 17, 58],
|
||||
[19, 80, 81, 68, 5, 94, 47, 69, 28, 73, 92, 13, 86, 52, 17, 77, 4, 89, 55, 40],
|
||||
[4, 52, 8, 83, 97, 35, 99, 16, 7, 97, 57, 32, 16, 26, 26, 79, 33, 27, 98, 66],
|
||||
[88, 36, 68, 87, 57, 62, 20, 72, 3, 46, 33, 67, 46, 55, 12, 32, 63, 93, 53, 69],
|
||||
[4, 42, 16, 73, 38, 25, 39, 11, 24, 94, 72, 18, 8, 46, 29, 32, 40, 62, 76, 36],
|
||||
[20, 69, 36, 41, 72, 30, 23, 88, 34, 62, 99, 69, 82, 67, 59, 85, 74, 4, 36, 16],
|
||||
[20, 73, 35, 29, 78, 31, 90, 1, 74, 31, 49, 71, 48, 86, 81, 16, 23, 57, 5, 54],
|
||||
[1, 70, 54, 71, 83, 51, 54, 69, 16, 92, 33, 48, 61, 43, 52, 1, 89, 19, 67, 48]
|
||||
];
|
||||
|
||||
const testGrid = [
|
||||
[40, 17, 81, 18, 57],
|
||||
[74, 4, 36, 16, 29],
|
||||
[36, 42, 69, 73, 45],
|
||||
[51, 54, 69, 16, 92],
|
||||
[7, 97, 57, 32, 16]
|
||||
];
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3db1000cf542c50feed
|
||||
challengeType: 5
|
||||
title: 'Problem 110: Diophantine Reciprocals II'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301735
|
||||
localeTitle: 'Задача 110: диофантийские реципрокты II'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> В следующем уравнении x, y и n - целые положительные числа. 1 / <var>x</var> + 1 / <var>y</var> = 1 / <var>n.</var> Можно проверить, что при <var>n</var> = 1260 существует 113 различных решений, и это наименьшее значение <var>n,</var> для которого общее число различных решений превышает сто. Каково наименьшее значение <var>n,</var> для которого количество различных решений превышает четыре миллиона? </section>
|
||||
<section id='description'>
|
||||
В следующем уравнении x, y и n - целые положительные числа. 1 / <var>x</var> + 1 / <var>y</var> = 1 / <var>n.</var> Можно проверить, что при <var>n</var> = 1260 существует 113 различных решений, и это наименьшее значение <var>n,</var> для которого общее число различных решений превышает сто. Каково наименьшее значение <var>n,</var> для которого количество различных решений превышает четыре миллиона?
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 110: диофантийские реципрокты
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>diophantineTwo</code> должен вернуть 9350130049860600.
|
||||
testString: 'assert.strictEqual(diophantineTwo(), 9350130049860600, "<code>diophantineTwo()</code> should return 9350130049860600.");'
|
||||
- text: <code>diophantineTwo()</code> should return 9350130049860600.
|
||||
testString: assert.strictEqual(diophantineTwo(), 9350130049860600);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ diophantineTwo();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ diophantineTwo();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3db1000cf542c50feee
|
||||
challengeType: 5
|
||||
title: 'Problem 111: Primes with runs'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301736
|
||||
localeTitle: 'Проблема 111: Primes с пробегами'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Учитывая 4-значные простые числа, содержащие повторяющиеся цифры, ясно, что они не могут быть одинаковыми: 1111 делится на 11, 2222 делится на 22 и т. Д. Но есть девять четырехзначных простых чисел, содержащих три: 1117, 1151, 1171, 1181, 1511, 1811, 2111, 4111, 8111. Мы будем говорить, что M (n, d) представляет максимальное количество повторных цифр для n- где d - повторяющаяся цифра, N (n, d) представляет количество таких простых чисел, а S (n, d) представляет собой сумму этих простых чисел. Таким образом, M (4, 1) = 3 является максимальным числом повторных цифр для 4-значного простого числа, где одна является повторной цифрой, то N (4, 1) = 9 таких простых чисел, а сумма этих простых чисел равна S (4, 1) = 22275. Оказывается, что при d = 0 возможно только M (4, 0) = 2 повторных цифры, но существует N (4, 0) = 13 таких случаев. Точно так же мы получаем следующие результаты для четырехзначных простых чисел. <p> Digit, d M (4, d) N (4, d) S (4, d) 0 2 13 67061 1 3 9 22275 2 3 1 2221 3 3 12 46214 4 3 2 8888 5 3 1 5557 6 3 1 6661 7 3 9 57863 8 3 1 8887 9 3 7 48073 </p><p> При d = 0 до 9 сумма всех S (4, d) равна 273700. Найдите сумму всех S (10, d). </p></section>
|
||||
<section id='description'>
|
||||
Учитывая 4-значные простые числа, содержащие повторяющиеся цифры, ясно, что они не могут быть одинаковыми: 1111 делится на 11, 2222 делится на 22 и т. Д. Но есть девять четырехзначных простых чисел, содержащих три: 1117, 1151, 1171, 1181, 1511, 1811, 2111, 4111, 8111. Мы будем говорить, что M (n, d) представляет максимальное количество повторных цифр для n- где d - повторяющаяся цифра, N (n, d) представляет количество таких простых чисел, а S (n, d) представляет собой сумму этих простых чисел. Таким образом, M (4, 1) = 3 является максимальным числом повторных цифр для 4-значного простого числа, где одна является повторной цифрой, то N (4, 1) = 9 таких простых чисел, а сумма этих простых чисел равна S (4, 1) = 22275. Оказывается, что при d = 0 возможно только M (4, 0) = 2 повторных цифры, но существует N (4, 0) = 13 таких случаев. Точно так же мы получаем следующие результаты для четырехзначных простых чисел. <p> Digit, d M (4, d) N (4, d) S (4, d) 0 2 13 67061 1 3 9 22275 2 3 1 2221 3 3 12 46214 4 3 2 8888 5 3 1 5557 6 3 1 6661 7 3 9 57863 8 3 1 8887 9 3 7 48073 </p><p> При d = 0 до 9 сумма всех S (4, d) равна 273700. Найдите сумму всех S (10, d). </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Проблема 111: Primes с пробегами'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: ''
|
||||
testString: 'assert.strictEqual(euler111(), 612407567715, "<code>euler111()</code> should return 612407567715.");'
|
||||
- text: <code>euler111()</code> should return 612407567715.
|
||||
testString: assert.strictEqual(euler111(), 612407567715);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler111();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler111();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3dd1000cf542c50feef
|
||||
challengeType: 5
|
||||
title: 'Problem 112: Bouncy numbers'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301738
|
||||
localeTitle: 'Задача 112: Надувные номера'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Работая слева направо, если цифра не превышена цифрой слева от нее, она называется все увеличивающимся числом; например, 134468. Аналогично, если цифра не будет превышена цифрой справа, она называется уменьшающимся числом; например, 66420. Мы будем называть положительное целое число, которое не увеличивает и не уменьшает «бодрящее» число; например, 155349. Очевидно, что не может быть никаких надувных чисел ниже ста, но чуть более половины чисел ниже одной тысячи (525) являются упругими. Фактически, наименьшее число, для которого доля бодрящих чисел вначале достигает 50%, составляет 538. Удивительно, что набирающие обороты цифры становятся все более распространенными, и к тому времени, когда мы достигнем 21780, доля надувных чисел равна 90%. Найдите наименьшее число, для которого доля надувных чисел составляет ровно 99%. </section>
|
||||
<section id='description'>
|
||||
Работая слева направо, если цифра не превышена цифрой слева от нее, она называется все увеличивающимся числом; например, 134468. Аналогично, если цифра не будет превышена цифрой справа, она называется уменьшающимся числом; например, 66420. Мы будем называть положительное целое число, которое не увеличивает и не уменьшает «бодрящее» число; например, 155349. Очевидно, что не может быть никаких надувных чисел ниже ста, но чуть более половины чисел ниже одной тысячи (525) являются упругими. Фактически, наименьшее число, для которого доля бодрящих чисел вначале достигает 50%, составляет 538. Удивительно, что набирающие обороты цифры становятся все более распространенными, и к тому времени, когда мы достигнем 21780, доля надувных чисел равна 90%. Найдите наименьшее число, для которого доля надувных чисел составляет ровно 99%.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 112: Надувные номера'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler112()</code> должен вернуть 1587000.
|
||||
testString: 'assert.strictEqual(euler112(), 1587000, "<code>euler112()</code> should return 1587000.");'
|
||||
- text: <code>euler112()</code> should return 1587000.
|
||||
testString: assert.strictEqual(euler112(), 1587000);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler112();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler112();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3dd1000cf542c50fef0
|
||||
challengeType: 5
|
||||
title: 'Problem 113: Non-bouncy numbers'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301739
|
||||
localeTitle: 'Задача 113: Номера без ожирения'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Работая слева направо, если цифра не превышена цифрой слева от нее, она называется все увеличивающимся числом; например, 134468. Аналогично, если цифра не будет превышена цифрой справа, она называется уменьшающимся числом; например, 66420. Мы будем называть положительное целое число, которое не увеличивает и не уменьшает «бодрящее» число; например, 155349. При увеличении n доля бодрящих чисел ниже n возрастает, так что всего лишь 12951 число ниже одного миллиона, которые не являются упругими и только 277032 числа, не несущественные, ниже 1010. Сколько чисел ниже googol (10100 ) не бод? </section>
|
||||
<section id='description'>
|
||||
Работая слева направо, если цифра не превышена цифрой слева от нее, она называется все увеличивающимся числом; например, 134468. Аналогично, если цифра не будет превышена цифрой справа, она называется уменьшающимся числом; например, 66420. Мы будем называть положительное целое число, которое не увеличивает и не уменьшает «бодрящее» число; например, 155349. При увеличении n доля бодрящих чисел ниже n возрастает, так что всего лишь 12951 число ниже одного миллиона, которые не являются упругими и только 277032 числа, не несущественные, ниже 1010. Сколько чисел ниже googol (10100 ) не бод?
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 113: Номера без ожирения'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler113()</code> должен вернуть 51161058134250.
|
||||
testString: 'assert.strictEqual(euler113(), 51161058134250, "<code>euler113()</code> should return 51161058134250.");'
|
||||
- text: <code>euler113()</code> should return 51161058134250.
|
||||
testString: assert.strictEqual(euler113(), 51161058134250);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler113();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler113();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3e01000cf542c50fef2
|
||||
challengeType: 5
|
||||
title: 'Problem 114: Counting block combinations I'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301740
|
||||
localeTitle: 'Задача 114: Комбинации счетных блоков I'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Строка длиной семь единиц имеет красные блоки с минимальной длиной в три единицы, размещенные на ней, так что любые два красных блока (которые допускаются к разным длинам) разделены по меньшей мере одним черным квадратом. Есть ровно семнадцать способов сделать это. <p> Сколько путей может быть заполнено длиной в пятьдесят единиц? ПРИМЕЧАНИЕ. Хотя приведенный выше пример не дает возможности, в общем, разрешается смешивать размеры блоков. Например, в строке длиной восемь единиц можно использовать красный (3), черный (1) и красный (4). </p></section>
|
||||
<section id='description'>
|
||||
Строка длиной семь единиц имеет красные блоки с минимальной длиной в три единицы, размещенные на ней, так что любые два красных блока (которые допускаются к разным длинам) разделены по меньшей мере одним черным квадратом. Есть ровно семнадцать способов сделать это. <p> Сколько путей может быть заполнено длиной в пятьдесят единиц? ПРИМЕЧАНИЕ. Хотя приведенный выше пример не дает возможности, в общем, разрешается смешивать размеры блоков. Например, в строке длиной восемь единиц можно использовать красный (3), черный (1) и красный (4). </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 114: Комбинации счетных блоков
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler114()</code> должен вернуть 16475640049.
|
||||
testString: 'assert.strictEqual(euler114(), 16475640049, "<code>euler114()</code> should return 16475640049.");'
|
||||
- text: <code>euler114()</code> should return 16475640049.
|
||||
testString: assert.strictEqual(euler114(), 16475640049);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler114();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler114();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3df1000cf542c50fef1
|
||||
challengeType: 5
|
||||
title: 'Problem 115: Counting block combinations II'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301741
|
||||
localeTitle: 'Задача 115: Комбинации счетных блоков II'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> ПРИМЕЧАНИЕ. Это более сложная версия задачи 114. Строка, измеряющая n единиц длины, имеет красные блоки с минимальной длиной м единиц, размещенных на ней, так что любые два красных блока (которые допускаются к разным длинам) разделяются по крайней мере, одним черным квадратом. Пусть функция заполнения, F (m, n), представляет количество способов заполнения строки. Например, F (3, 29) = 673135 и F (3, 30) = 1089155. То есть, при m = 3 можно видеть, что n = 30 является наименьшим значением, для которого функция заполнения один миллион. Точно так же при m = 10 можно проверить, что F (10, 56) = 880711 и F (10, 57) = 1148904, поэтому n = 57 является наименьшим значением, для которого функция заполнения один миллион. При m = 50 найдите наименьшее значение n, для которого функция заполнения заполнения сначала превышает один миллион. </section>
|
||||
<section id='description'>
|
||||
ПРИМЕЧАНИЕ. Это более сложная версия задачи 114. Строка, измеряющая n единиц длины, имеет красные блоки с минимальной длиной м единиц, размещенных на ней, так что любые два красных блока (которые допускаются к разным длинам) разделяются по крайней мере, одним черным квадратом. Пусть функция заполнения, F (m, n), представляет количество способов заполнения строки. Например, F (3, 29) = 673135 и F (3, 30) = 1089155. То есть, при m = 3 можно видеть, что n = 30 является наименьшим значением, для которого функция заполнения один миллион. Точно так же при m = 10 можно проверить, что F (10, 56) = 880711 и F (10, 57) = 1148904, поэтому n = 57 является наименьшим значением, для которого функция заполнения один миллион. При m = 50 найдите наименьшее значение n, для которого функция заполнения заполнения сначала превышает один миллион.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 115: Комбинации счетных блоков
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler115()</code> должен вернуть 168.
|
||||
testString: 'assert.strictEqual(euler115(), 168, "<code>euler115()</code> should return 168.");'
|
||||
- text: <code>euler115()</code> should return 168.
|
||||
testString: assert.strictEqual(euler115(), 168);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler115();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler115();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3e01000cf542c50fef3
|
||||
challengeType: 5
|
||||
title: 'Problem 116: Red, green or blue tiles'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301742
|
||||
localeTitle: 'Проблема 116: красная, зеленая или синяя плитка'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Ряд из пяти квадратов черного квадрата должен иметь несколько своих черепиц, замененных цветными продолговатыми плитами, выбранными из красного (длина два), зеленым (длина три) или синим (длина четыре). Если выбраны красные плитки, это может быть сделано всего семь способов. <p> Если выбраны зеленые плитки, есть три способа. </p><p> И если выбраны синие плитки, есть два пути. </p><p> Предполагая, что цвета не могут быть смешаны, есть 7 + 3 + 2 = 12 способов замены черных плит в строке длиной в пять единиц. Сколько различных способов можно заменить черные плитки длиной в пятьдесят единиц в длину, если цвета не могут быть смешаны и по крайней мере одна цветная плитка должна использоваться? ПРИМЕЧАНИЕ. Это связано с проблемой 117. </p></section>
|
||||
<section id='description'>
|
||||
Ряд из пяти квадратов черного квадрата должен иметь несколько своих черепиц, замененных цветными продолговатыми плитами, выбранными из красного (длина два), зеленым (длина три) или синим (длина четыре). Если выбраны красные плитки, это может быть сделано всего семь способов. <p> Если выбраны зеленые плитки, есть три способа. </p><p> И если выбраны синие плитки, есть два пути. </p><p> Предполагая, что цвета не могут быть смешаны, есть 7 + 3 + 2 = 12 способов замены черных плит в строке длиной в пять единиц. Сколько различных способов можно заменить черные плитки длиной в пятьдесят единиц в длину, если цвета не могут быть смешаны и по крайней мере одна цветная плитка должна использоваться? ПРИМЕЧАНИЕ. Это связано с проблемой 117. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Проблема 116: красная, зеленая или син
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler116()</code> должен вернуть 20492570929.
|
||||
testString: 'assert.strictEqual(euler116(), 20492570929, "<code>euler116()</code> should return 20492570929.");'
|
||||
- text: <code>euler116()</code> should return 20492570929.
|
||||
testString: assert.strictEqual(euler116(), 20492570929);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler116();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler116();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3e21000cf542c50fef4
|
||||
challengeType: 5
|
||||
title: 'Problem 117: Red, green, and blue tiles'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301743
|
||||
localeTitle: 'Проблема 117: красная, зеленая и синяя плитка'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Используя комбинацию черных квадратных плит и продолговатых плиток, выбранных из: красных плиток, измеряющих два блока, зеленых плит, измеряющих три единицы, и синих плит, измеряющих четыре единицы, можно плитку длиной в пять единиц длиной ровно пятнадцатью различными способами. <p> Сколько способов может содержать черепица длиной в пятьдесят единиц? ПРИМЕЧАНИЕ. Это связано с задачей 116. </p></section>
|
||||
<section id='description'>
|
||||
Используя комбинацию черных квадратных плит и продолговатых плиток, выбранных из: красных плиток, измеряющих два блока, зеленых плит, измеряющих три единицы, и синих плит, измеряющих четыре единицы, можно плитку длиной в пять единиц длиной ровно пятнадцатью различными способами. <p> Сколько способов может содержать черепица длиной в пятьдесят единиц? ПРИМЕЧАНИЕ. Это связано с задачей 116. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Проблема 117: красная, зеленая и синяя
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler117()</code> должен вернуть 100808458960497.
|
||||
testString: 'assert.strictEqual(euler117(), 100808458960497, "<code>euler117()</code> should return 100808458960497.");'
|
||||
- text: <code>euler117()</code> should return 100808458960497.
|
||||
testString: assert.strictEqual(euler117(), 100808458960497);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler117();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler117();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3e21000cf542c50fef5
|
||||
challengeType: 5
|
||||
title: 'Problem 118: Pandigital prime sets'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301744
|
||||
localeTitle: 'Задача 118: Pandigital простые множества'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Используя все цифры с 1 по 9 и конкатенируя их свободно, чтобы сформировать десятичные целые числа, могут быть сформированы различные множества. Интересно, что набор {2,5,47,89,631}, все элементы, принадлежащие ему, являются просторными. Сколько различных наборов, содержащих каждую из цифр от одного до девятого ровно один раз, содержат только простые элементы? </section>
|
||||
<section id='description'>
|
||||
Используя все цифры с 1 по 9 и конкатенируя их свободно, чтобы сформировать десятичные целые числа, могут быть сформированы различные множества. Интересно, что набор {2,5,47,89,631}, все элементы, принадлежащие ему, являются просторными. Сколько различных наборов, содержащих каждую из цифр от одного до девятого ровно один раз, содержат только простые элементы?
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 118: Pandigital простые множества'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler118()</code> должен возвращать 44680.
|
||||
testString: 'assert.strictEqual(euler118(), 44680, "<code>euler118()</code> should return 44680.");'
|
||||
- text: <code>euler118()</code> should return 44680.
|
||||
testString: assert.strictEqual(euler118(), 44680);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler118();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler118();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3e41000cf542c50fef6
|
||||
challengeType: 5
|
||||
title: 'Problem 119: Digit power sum'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301745
|
||||
localeTitle: 'Задача 119: Суммарная сумма электроэнергии'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Число 512 интересно, потому что оно равно сумме его цифр, поднятых до некоторой степени: 5 + 1 + 2 = 8 и 83 = 512. Другим примером числа с этим свойством является 614656 = 284. Мы определим быть n-м членом этой последовательности и настаивать на том, чтобы число должно содержать не менее двух цифр, чтобы иметь сумму. Вам дается, что a2 = 512 и a10 = 614656. Найдите a30. </section>
|
||||
<section id='description'>
|
||||
Число 512 интересно, потому что оно равно сумме его цифр, поднятых до некоторой степени: 5 + 1 + 2 = 8 и 83 = 512. Другим примером числа с этим свойством является 614656 = 284. Мы определим быть n-м членом этой последовательности и настаивать на том, чтобы число должно содержать не менее двух цифр, чтобы иметь сумму. Вам дается, что a2 = 512 и a10 = 614656. Найдите a30.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 119: Суммарная сумма электроэн
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler119()</code> должен вернуть 248155780267521.
|
||||
testString: 'assert.strictEqual(euler119(), 248155780267521, "<code>euler119()</code> should return 248155780267521.");'
|
||||
- text: <code>euler119()</code> should return 248155780267521.
|
||||
testString: assert.strictEqual(euler119(), 248155780267521);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler119();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler119();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3781000cf542c50fe8b
|
||||
challengeType: 5
|
||||
title: 'Problem 12: Highly divisible triangular number'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301746
|
||||
localeTitle: 'Задача 12: Высокое делимое треугольное число'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Последовательность чисел треугольника порождается добавлением натуральных чисел. Таким образом, 7-й номер треугольника будет 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. Первые десять терминов будут: <div style="text-align: center;"> 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ... </div> Перечислим коэффициенты первых семи чисел треугольника: <div style="padding-left: 4em;"> <b>1:</b> 1 </div><div style="padding-left: 4em;"> <b>3:</b> 1, 3 </div><div style="padding-left: 4em;"> <b>6:</b> 1, 2, 3, 6 </div><div style="padding-left: 4em;"> <b>10:</b> 1, 2, 5, 10 </div><div style="padding-left: 4em;"> <b>15:</b> 1, 3, 5, 15 </div><div style="padding-left: 4em;"> <b>21:</b> 1, 3, 7, 21 </div><div style="padding-left: 4em;"> <b>28:</b> 1, 2, 4, 7, 14, 28 </div> Мы видим, что 28 - это первое число треугольников, состоящее из пяти делителей. Каково значение первого числа треугольников для <code>n</code> делителей? </section>
|
||||
<section id='description'>
|
||||
Последовательность чисел треугольника порождается добавлением натуральных чисел. Таким образом, 7-й номер треугольника будет 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. Первые десять терминов будут: <div style="text-align: center;"> 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ... </div> Перечислим коэффициенты первых семи чисел треугольника: <div style="padding-left: 4em;"> <b>1:</b> 1 </div><div style="padding-left: 4em;"> <b>3:</b> 1, 3 </div><div style="padding-left: 4em;"> <b>6:</b> 1, 2, 3, 6 </div><div style="padding-left: 4em;"> <b>10:</b> 1, 2, 5, 10 </div><div style="padding-left: 4em;"> <b>15:</b> 1, 3, 5, 15 </div><div style="padding-left: 4em;"> <b>21:</b> 1, 3, 7, 21 </div><div style="padding-left: 4em;"> <b>28:</b> 1, 2, 4, 7, 14, 28 </div> Мы видим, что 28 - это первое число треугольников, состоящее из пяти делителей. Каково значение первого числа треугольников для <code>n</code> делителей?
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,16 +21,16 @@ localeTitle: 'Задача 12: Высокое делимое треугольн
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>divisibleTriangleNumber(5)</code> должен возвращать 28.
|
||||
testString: 'assert.strictEqual(divisibleTriangleNumber(5), 28, "<code>divisibleTriangleNumber(5)</code> should return 28.");'
|
||||
- text: <code>divisibleTriangleNumber(23)</code> должен возвращать 630.
|
||||
testString: 'assert.strictEqual(divisibleTriangleNumber(23), 630, "<code>divisibleTriangleNumber(23)</code> should return 630.");'
|
||||
- text: <code>divisibleTriangleNumber(167)</code> должен возвращать 1385280.
|
||||
testString: 'assert.strictEqual(divisibleTriangleNumber(167), 1385280, "<code>divisibleTriangleNumber(167)</code> should return 1385280.");'
|
||||
- text: <code>divisibleTriangleNumber(374)</code> должен возвращать 17907120.
|
||||
testString: 'assert.strictEqual(divisibleTriangleNumber(374), 17907120, "<code>divisibleTriangleNumber(374)</code> should return 17907120.");'
|
||||
- text: <code>divisibleTriangleNumber(500)</code> должен возвращать 76576500.
|
||||
testString: 'assert.strictEqual(divisibleTriangleNumber(500), 76576500, "<code>divisibleTriangleNumber(500)</code> should return 76576500.");'
|
||||
- text: <code>divisibleTriangleNumber(5)</code> should return 28.
|
||||
testString: assert.strictEqual(divisibleTriangleNumber(5), 28);
|
||||
- text: <code>divisibleTriangleNumber(23)</code> should return 630.
|
||||
testString: assert.strictEqual(divisibleTriangleNumber(23), 630);
|
||||
- text: <code>divisibleTriangleNumber(167)</code> should return 1385280.
|
||||
testString: assert.strictEqual(divisibleTriangleNumber(167), 1385280);
|
||||
- text: <code>divisibleTriangleNumber(374)</code> should return 17907120.
|
||||
testString: assert.strictEqual(divisibleTriangleNumber(374), 17907120);
|
||||
- text: <code>divisibleTriangleNumber(500)</code> should return 76576500.
|
||||
testString: assert.strictEqual(divisibleTriangleNumber(500), 76576500);
|
||||
|
||||
```
|
||||
|
||||
@@ -50,14 +53,42 @@ divisibleTriangleNumber(500);
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
<section id='solution'>
|
||||
|
||||
```js
|
||||
// solution required
|
||||
function divisibleTriangleNumber(n) {
|
||||
let counter = 1;
|
||||
let triangleNumber = counter++;
|
||||
|
||||
function getFactors(num) {
|
||||
let factors = [];
|
||||
|
||||
let possibleFactor = 1;
|
||||
let sqrt = Math.sqrt(num);
|
||||
|
||||
while (possibleFactor <= sqrt) {
|
||||
if (num % possibleFactor == 0) {
|
||||
factors.push(possibleFactor);
|
||||
var otherPossibleFactor = num / possibleFactor;
|
||||
if (otherPossibleFactor > possibleFactor) {
|
||||
factors.push(otherPossibleFactor);
|
||||
}
|
||||
}
|
||||
possibleFactor++;
|
||||
}
|
||||
|
||||
return factors;
|
||||
}
|
||||
|
||||
while (getFactors(triangleNumber).length < n) {
|
||||
triangleNumber += counter++;
|
||||
}
|
||||
console.log(triangleNumber)
|
||||
return triangleNumber;
|
||||
}
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3e41000cf542c50fef7
|
||||
challengeType: 5
|
||||
title: 'Problem 120: Square remainders'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301747
|
||||
localeTitle: 'Задача 120: Квадратные остатки'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Пусть r - остаток, когда (a-1) n + (a + 1) n делится на a2. Например, если a = 7 и n = 3, то r = 42: 63 + 83 = 728 ≡ 42 mod 49. А при изменении n также будет r, но при a = 7 получается, что rmax = 42. Для 3 ≤ a ≤ 1000 найдите Σ rmax. </section>
|
||||
<section id='description'>
|
||||
Пусть r - остаток, когда (a-1) n + (a + 1) n делится на a2. Например, если a = 7 и n = 3, то r = 42: 63 + 83 = 728 ≡ 42 mod 49. А при изменении n также будет r, но при a = 7 получается, что rmax = 42. Для 3 ≤ a ≤ 1000 найдите Σ rmax.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 120: Квадратные остатки'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler120()</code> должен вернуть 333082500.
|
||||
testString: 'assert.strictEqual(euler120(), 333082500, "<code>euler120()</code> should return 333082500.");'
|
||||
- text: <code>euler120()</code> should return 333082500.
|
||||
testString: assert.strictEqual(euler120(), 333082500);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler120();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler120();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3e51000cf542c50fef8
|
||||
challengeType: 5
|
||||
title: 'Problem 121: Disc game prize fund'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301748
|
||||
localeTitle: 'Задача 121: Призовой фонд призовой игры'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Сумка содержит один красный диск и один синий диск. В азартной игре игрок берет диск в случайном порядке, и его цвет отмечается. После каждого поворота диск возвращается в сумку, добавляется дополнительный красный диск, а другой диск берется произвольно. Игрок платит 1 фунт за игру и выигрывает, если в конце игры они взяли больше синих дисков, чем красные диски. Если игра будет сыграна на четыре оборота, вероятность выигрыша игрока будет равна 11/120, и поэтому максимальный призовой фонд, который банкир должен выделить для победы в этой игре, составит 10 фунтов стерлингов, прежде чем они ожидают, что они понесут убыток. Обратите внимание, что любая выплата будет целым числом фунтов, а также включает первоначальную £ 1, выплаченную за игру, поэтому в примере, когда игрок фактически выигрывает 9 фунтов. Найдите максимальный призовой фонд, который должен быть выделен для одной игры, в которой исполняется пятнадцать ходов. </section>
|
||||
<section id='description'>
|
||||
Сумка содержит один красный диск и один синий диск. В азартной игре игрок берет диск в случайном порядке, и его цвет отмечается. После каждого поворота диск возвращается в сумку, добавляется дополнительный красный диск, а другой диск берется произвольно. Игрок платит 1 фунт за игру и выигрывает, если в конце игры они взяли больше синих дисков, чем красные диски. Если игра будет сыграна на четыре оборота, вероятность выигрыша игрока будет равна 11/120, и поэтому максимальный призовой фонд, который банкир должен выделить для победы в этой игре, составит 10 фунтов стерлингов, прежде чем они ожидают, что они понесут убыток. Обратите внимание, что любая выплата будет целым числом фунтов, а также включает первоначальную £ 1, выплаченную за игру, поэтому в примере, когда игрок фактически выигрывает 9 фунтов. Найдите максимальный призовой фонд, который должен быть выделен для одной игры, в которой исполняется пятнадцать ходов.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 121: Призовой фонд призовой иг
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler121()</code> должен вернуть 2269.
|
||||
testString: 'assert.strictEqual(euler121(), 2269, "<code>euler121()</code> should return 2269.");'
|
||||
- text: <code>euler121()</code> should return 2269.
|
||||
testString: assert.strictEqual(euler121(), 2269);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler121();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler121();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3e61000cf542c50fef9
|
||||
challengeType: 5
|
||||
title: 'Problem 122: Efficient exponentiation'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301749
|
||||
localeTitle: 'Задача 122: Эффективное возведение в степень'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Самый наивный способ вычисления n15 требует четырнадцати умножений: n × n × ... × n = n15 Но используя «двоичный» метод, вы можете вычислить его в шести умножениях: n × n = n2n2 × n2 = n4n4 × n4 = n8n8 × n4 = n12n12 × n2 = n14n14 × n = n15 Однако еще можно вычислить его только в пяти умножениях: n × n = n2n2 × n = n3n3 × n3 = n6n6 × n6 = n12n12 × n3 = n15 Определим m (k) - минимальное количество умножений для вычисления nk; например m (15) = 5. Для 1 ≤ k ≤ 200 найдите Σ m (k). </section>
|
||||
<section id='description'>
|
||||
Самый наивный способ вычисления n15 требует четырнадцати умножений: n × n × ... × n = n15 Но используя «двоичный» метод, вы можете вычислить его в шести умножениях: n × n = n2n2 × n2 = n4n4 × n4 = n8n8 × n4 = n12n12 × n2 = n14n14 × n = n15 Однако еще можно вычислить его только в пяти умножениях: n × n = n2n2 × n = n3n3 × n3 = n6n6 × n6 = n12n12 × n3 = n15 Определим m (k) - минимальное количество умножений для вычисления nk; например m (15) = 5. Для 1 ≤ k ≤ 200 найдите Σ m (k).
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 122: Эффективное возведение в
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler122()</code> должен вернуть 1582.
|
||||
testString: 'assert.strictEqual(euler122(), 1582, "<code>euler122()</code> should return 1582.");'
|
||||
- text: <code>euler122()</code> should return 1582.
|
||||
testString: assert.strictEqual(euler122(), 1582);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler122();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler122();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3e71000cf542c50fefa
|
||||
challengeType: 5
|
||||
title: 'Problem 123: Prime square remainders'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301750
|
||||
localeTitle: 'Задача 123: остатки Prime Square'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Пусть pn - n-е число простых чисел: 2, 3, 5, 7, 11, ... и r - остаток, когда (pn-1) n + (pn + 1) n делится на pn2. Например, когда n = 3, p3 = 5 и 43 + 63 = 280 ≡ 5 mod 25. Наименьшее значение n, для которого остаток сначала превышает 109, составляет 7037. Найдите наименьшее значение n, для которого остаток сначала превышает 1010. </section>
|
||||
<section id='description'>
|
||||
Пусть pn - n-е число простых чисел: 2, 3, 5, 7, 11, ... и r - остаток, когда (pn-1) n + (pn + 1) n делится на pn2. Например, когда n = 3, p3 = 5 и 43 + 63 = 280 ≡ 5 mod 25. Наименьшее значение n, для которого остаток сначала превышает 109, составляет 7037. Найдите наименьшее значение n, для которого остаток сначала превышает 1010.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 123: остатки Prime Square'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler123()</code> должен вернуть 21035.
|
||||
testString: 'assert.strictEqual(euler123(), 21035, "<code>euler123()</code> should return 21035.");'
|
||||
- text: <code>euler123()</code> should return 21035.
|
||||
testString: assert.strictEqual(euler123(), 21035);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler123();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler123();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3e81000cf542c50fefb
|
||||
challengeType: 5
|
||||
title: 'Problem 124: Ordered radicals'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301751
|
||||
localeTitle: 'Задача 124: упорядоченные радикалы'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Радиус n, rad (n), является произведением различных простых множителей n. Например, 504 = 23 × 32 × 7, поэтому rad (504) = 2 × 3 × 7 = 42. Если мы вычисляем rad (n) для 1 ≤ n ≤ 10, то сортируем их по rad (n) и сортируем на n, если радикальные значения равны, получаем: Unsorted <p> Сортированный n rad (n) </p><p> n rad (n) k 11 </p><p> 111 22 </p><p> 222 33 </p><p> 423 42 </p><p> 824 55 </p><p> 335 66 </p><p> 936 77 </p><p> 557 82 </p><p> 668 93 </p><p> 779 1010 </p><p> 101010 Пусть E (k) - k-й элемент в отсортированном n столбце; например, E (4) = 8 и E (6) = 9. Если rad (n) сортируется для 1 ≤ n ≤ 100000, найдите E (10000). </p></section>
|
||||
<section id='description'>
|
||||
Радиус n, rad (n), является произведением различных простых множителей n. Например, 504 = 23 × 32 × 7, поэтому rad (504) = 2 × 3 × 7 = 42. Если мы вычисляем rad (n) для 1 ≤ n ≤ 10, то сортируем их по rad (n) и сортируем на n, если радикальные значения равны, получаем: Unsorted <p> Сортированный n rad (n) </p><p> n rad (n) k 11 </p><p> 111 22 </p><p> 222 33 </p><p> 423 42 </p><p> 824 55 </p><p> 335 66 </p><p> 936 77 </p><p> 557 82 </p><p> 668 93 </p><p> 779 1010 </p><p> 101010 Пусть E (k) - k-й элемент в отсортированном n столбце; например, E (4) = 8 и E (6) = 9. Если rad (n) сортируется для 1 ≤ n ≤ 100000, найдите E (10000). </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 124: упорядоченные радикалы'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler124()</code> должен возвращать 21417.
|
||||
testString: 'assert.strictEqual(euler124(), 21417, "<code>euler124()</code> should return 21417.");'
|
||||
- text: <code>euler124()</code> should return 21417.
|
||||
testString: assert.strictEqual(euler124(), 21417);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler124();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler124();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3e91000cf542c50fefc
|
||||
challengeType: 5
|
||||
title: 'Problem 125: Palindromic sums'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301752
|
||||
localeTitle: 'Задача 125: Палиндромические суммы'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Палиндромный номер 595 интересен тем, что его можно записать в виде суммы последовательных квадратов: 62 + 72 + 82 + 92 + 102 + 112 + 122. В точности одиннадцать палиндромов ниже одной тысячи, которые могут быть записаны как последовательные квадратные суммы, и сумма этих палиндромов равна 4164. Заметим, что 1 = 02 + 12 не было включено, так как эта проблема связана с квадратами положительных целых чисел. Найдите сумму всех чисел менее 108, которые являются палиндромными и могут быть записаны как сумма последовательных квадратов. </section>
|
||||
<section id='description'>
|
||||
Палиндромный номер 595 интересен тем, что его можно записать в виде суммы последовательных квадратов: 62 + 72 + 82 + 92 + 102 + 112 + 122. В точности одиннадцать палиндромов ниже одной тысячи, которые могут быть записаны как последовательные квадратные суммы, и сумма этих палиндромов равна 4164. Заметим, что 1 = 02 + 12 не было включено, так как эта проблема связана с квадратами положительных целых чисел. Найдите сумму всех чисел менее 108, которые являются палиндромными и могут быть записаны как сумма последовательных квадратов.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 125: Палиндромические суммы'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler125()</code> должен возвращать 2906969179.
|
||||
testString: 'assert.strictEqual(euler125(), 2906969179, "<code>euler125()</code> should return 2906969179.");'
|
||||
- text: <code>euler125()</code> should return 2906969179.
|
||||
testString: assert.strictEqual(euler125(), 2906969179);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler125();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler125();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3ea1000cf542c50fefd
|
||||
challengeType: 5
|
||||
title: 'Problem 126: Cuboid layers'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301753
|
||||
localeTitle: 'Задача 126: Кубоидные слои'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Минимальное количество кубов для покрытия каждой видимой поверхности на кубоиде размером 3 x 2 x 1 составляет двадцать два. <p> Если мы затем добавим второй слой в это твердое тело, для покрытия каждой видимой поверхности потребуется сорок шесть кубов, для третьего слоя потребуется семьдесят восемь кубов, а четвертому слою потребуется сто восемнадцать кубов, чтобы покрыть каждую видимую грань , Однако первый слой на кубоиде размером 5 х 1 х 1 также требует двадцать два куба; аналогично, первый слой на кубоидах размером 5 x 3 x 1, 7 x 2 x 1 и 11 x 1 x 1 содержит сорок шесть кубов. Мы определим C (n) для представления числа кубоидов, содержащих n кубов в одном из своих слоев. Таким образом, C (22) = 2, C (46) = 4, C (78) = 5 и C (118) = 8. Оказывается, что 154 - наименьшее значение n, для которого C (n) = 10. Найдите наименьшее значение n, для которого C (n) = 1000. </p></section>
|
||||
<section id='description'>
|
||||
Минимальное количество кубов для покрытия каждой видимой поверхности на кубоиде размером 3 x 2 x 1 составляет двадцать два. <p> Если мы затем добавим второй слой в это твердое тело, для покрытия каждой видимой поверхности потребуется сорок шесть кубов, для третьего слоя потребуется семьдесят восемь кубов, а четвертому слою потребуется сто восемнадцать кубов, чтобы покрыть каждую видимую грань , Однако первый слой на кубоиде размером 5 х 1 х 1 также требует двадцать два куба; аналогично, первый слой на кубоидах размером 5 x 3 x 1, 7 x 2 x 1 и 11 x 1 x 1 содержит сорок шесть кубов. Мы определим C (n) для представления числа кубоидов, содержащих n кубов в одном из своих слоев. Таким образом, C (22) = 2, C (46) = 4, C (78) = 5 и C (118) = 8. Оказывается, что 154 - наименьшее значение n, для которого C (n) = 10. Найдите наименьшее значение n, для которого C (n) = 1000. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 126: Кубоидные слои'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler126()</code> должен вернуть 18522.
|
||||
testString: 'assert.strictEqual(euler126(), 18522, "<code>euler126()</code> should return 18522.");'
|
||||
- text: <code>euler126()</code> should return 18522.
|
||||
testString: assert.strictEqual(euler126(), 18522);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler126();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler126();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3ec1000cf542c50fefe
|
||||
challengeType: 5
|
||||
title: 'Problem 127: abc-hits'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301754
|
||||
localeTitle: 'Задача 127: abc-hits'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Радикал n, rad (n), является произведением различных простых множителей n. Например, 504 = 23 × 32 × 7, поэтому rad (504) = 2 × 3 × 7 = 42. Мы определим триплет положительных целых чисел (a, b, c) как abc-hit, если: GCD ( a, b) = GCD (a, c) = GCD (b, c) = 1 a <ba + b = c rad (abc) <c Например, (5, 27, 32) является abc-hit, потому что : GCD (5, 27) = GCD (5, 32) = GCD (27, 32) = 1 5 <27 5 + 27 = 32 рад (4320) = 30 <32 Оказывается, abc-хиты довольно редки и существует только тридцать один abc-хиты для c <1000, с Σc = 12523. Найдите Σc для c <120000. </section>
|
||||
<section id='description'>
|
||||
Радикал n, rad (n), является произведением различных простых множителей n. Например, 504 = 23 × 32 × 7, поэтому rad (504) = 2 × 3 × 7 = 42. Мы определим триплет положительных целых чисел (a, b, c) как abc-hit, если: GCD ( a, b) = GCD (a, c) = GCD (b, c) = 1 a <ba + b = c rad (abc) <c Например, (5, 27, 32) является abc-hit, потому что : GCD (5, 27) = GCD (5, 32) = GCD (27, 32) = 1 5 <27 5 + 27 = 32 рад (4320) = 30 <32 Оказывается, abc-хиты довольно редки и существует только тридцать один abc-хиты для c <1000, с Σc = 12523. Найдите Σc для c <120000.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 127: abc-hits'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler127()</code> должен вернуть 18407904.
|
||||
testString: 'assert.strictEqual(euler127(), 18407904, "<code>euler127()</code> should return 18407904.");'
|
||||
- text: <code>euler127()</code> should return 18407904.
|
||||
testString: assert.strictEqual(euler127(), 18407904);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler127();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler127();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3ec1000cf542c50feff
|
||||
challengeType: 5
|
||||
title: 'Problem 128: Hexagonal tile differences'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301755
|
||||
localeTitle: 'Задача 128: Различия в гексагональной черепице'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Шестиугольная плитка с номером 1 окружена кольцом шести гексагональных плит, начиная с «12 часов» и пронумеровав плитки с 2 по 7 против часовой стрелки. Таким же образом добавляются новые кольца, причем следующие кольца имеют номера от 8 до 19, от 20 до 37, от 38 до 61 и т. Д. На приведенной ниже диаграмме показаны первые три кольца. <p> Найдя разницу между плиткой n и каждым из ее шести соседей, мы определим PD (n) как число тех различий, которые являются первичными. Например, работая по часовой стрелке вокруг плитки 8, разница составляет 12, 29, 11, 6, 1 и 13. Таким образом, PD (8) = 3. Таким же образом различия вокруг плитки 17 равны 1, 17, 16, 1 , 11 и 10, следовательно, PD (17) = 2. Можно показать, что максимальное значение PD (n) равно 3. Если все плитки, для которых PD (n) = 3, указаны в порядке возрастания, чтобы сформировать последовательность, 10-я плитка будет 271. Найдите 2000-ю черепицу в этой последовательности. </p></section>
|
||||
<section id='description'>
|
||||
Шестиугольная плитка с номером 1 окружена кольцом шести гексагональных плит, начиная с «12 часов» и пронумеровав плитки с 2 по 7 против часовой стрелки. Таким же образом добавляются новые кольца, причем следующие кольца имеют номера от 8 до 19, от 20 до 37, от 38 до 61 и т. Д. На приведенной ниже диаграмме показаны первые три кольца. <p> Найдя разницу между плиткой n и каждым из ее шести соседей, мы определим PD (n) как число тех различий, которые являются первичными. Например, работая по часовой стрелке вокруг плитки 8, разница составляет 12, 29, 11, 6, 1 и 13. Таким образом, PD (8) = 3. Таким же образом различия вокруг плитки 17 равны 1, 17, 16, 1 , 11 и 10, следовательно, PD (17) = 2. Можно показать, что максимальное значение PD (n) равно 3. Если все плитки, для которых PD (n) = 3, указаны в порядке возрастания, чтобы сформировать последовательность, 10-я плитка будет 271. Найдите 2000-ю черепицу в этой последовательности. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 128: Различия в гексагональной
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler128()</code> должен возвращать 14516824220.
|
||||
testString: 'assert.strictEqual(euler128(), 14516824220, "<code>euler128()</code> should return 14516824220.");'
|
||||
- text: <code>euler128()</code> should return 14516824220.
|
||||
testString: assert.strictEqual(euler128(), 14516824220);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler128();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler128();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3ef1000cf542c50ff01
|
||||
challengeType: 5
|
||||
title: 'Problem 129: Repunit divisibility'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301756
|
||||
localeTitle: 'Задача 129: делимость репликации'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Число, состоящее полностью из них, называется repunit. Определим R (k) как репутацию длины k; например, R (6) = 111111. Учитывая, что n является положительным целым числом, а GCD (n, 10) = 1, можно показать, что всегда существует значение k, для которого R (k) делится на n , и пусть A (n) - наименьшее такое значение k; например, A (7) = 6 и A (41) = 5. Наименьшее значение n, для которого A (n) сначала превышает десять, равно 17. Найдите наименьшее значение n, для которого A (n) млн. </section>
|
||||
<section id='description'>
|
||||
Число, состоящее полностью из них, называется repunit. Определим R (k) как репутацию длины k; например, R (6) = 111111. Учитывая, что n является положительным целым числом, а GCD (n, 10) = 1, можно показать, что всегда существует значение k, для которого R (k) делится на n , и пусть A (n) - наименьшее такое значение k; например, A (7) = 6 и A (41) = 5. Наименьшее значение n, для которого A (n) сначала превышает десять, равно 17. Найдите наименьшее значение n, для которого A (n) млн.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 129: делимость репликации'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler129()</code> должен возвращать 1000023.
|
||||
testString: 'assert.strictEqual(euler129(), 1000023, "<code>euler129()</code> should return 1000023.");'
|
||||
- text: <code>euler129()</code> should return 1000023.
|
||||
testString: assert.strictEqual(euler129(), 1000023);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler129();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler129();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
File diff suppressed because one or more lines are too long
@@ -2,15 +2,18 @@
|
||||
id: 5900f3ee1000cf542c50ff00
|
||||
challengeType: 5
|
||||
title: 'Problem 130: Composites with prime repunit property'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301758
|
||||
localeTitle: 'Задача 130: Композиты с основным свойством repunit'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Число, состоящее полностью из них, называется repunit. Определим R (k) как репутацию длины k; например, R (6) = 111111. Учитывая, что n является положительным целым числом, а GCD (n, 10) = 1, можно показать, что всегда существует значение k, для которого R (k) делится на n , и пусть A (n) - наименьшее такое значение k; например, A (7) = 6 и A (41) = 5. Вам дано, что для всех простых чисел p> 5 p-1 делится на A (p). Например, когда p = 41, A (41) = 5 и 40 делится на 5. Однако имеются редкие составные значения, для которых это также верно; первые пять примеров составляют 91, 259, 451, 481 и 703. Найдите сумму первых двадцати пяти составных значений n, для которых GCD (n, 10) = 1 и n - 1 делится на A (n). </section>
|
||||
<section id='description'>
|
||||
Число, состоящее полностью из них, называется repunit. Определим R (k) как репутацию длины k; например, R (6) = 111111. Учитывая, что n является положительным целым числом, а GCD (n, 10) = 1, можно показать, что всегда существует значение k, для которого R (k) делится на n , и пусть A (n) - наименьшее такое значение k; например, A (7) = 6 и A (41) = 5. Вам дано, что для всех простых чисел p> 5 p-1 делится на A (p). Например, когда p = 41, A (41) = 5 и 40 делится на 5. Однако имеются редкие составные значения, для которых это также верно; первые пять примеров составляют 91, 259, 451, 481 и 703. Найдите сумму первых двадцати пяти составных значений n, для которых GCD (n, 10) = 1 и n - 1 делится на A (n).
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 130: Композиты с основным свой
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler130()</code> должен вернуть 149253.
|
||||
testString: 'assert.strictEqual(euler130(), 149253, "<code>euler130()</code> should return 149253.");'
|
||||
- text: <code>euler130()</code> should return 149253.
|
||||
testString: assert.strictEqual(euler130(), 149253);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler130();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler130();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3ef1000cf542c50ff02
|
||||
challengeType: 5
|
||||
title: 'Problem 131: Prime cube partnership'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301759
|
||||
localeTitle: 'Задача 131: Партнерство с премьер-кубом'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Имеются некоторые простые значения p, для которых существует натуральное число n, такое, что выражение n3 + n2p является совершенным кубом. Например, когда p = 19, 83 + 82 × 19 = 123. Что, пожалуй, наиболее удивительно, так это то, что для каждого числа с этим свойством значение n уникально, и только четыре таких простых числа ниже ста. Сколько простых чисел ниже одного миллиона имеют это замечательное свойство? </section>
|
||||
<section id='description'>
|
||||
Имеются некоторые простые значения p, для которых существует натуральное число n, такое, что выражение n3 + n2p является совершенным кубом. Например, когда p = 19, 83 + 82 × 19 = 123. Что, пожалуй, наиболее удивительно, так это то, что для каждого числа с этим свойством значение n уникально, и только четыре таких простых числа ниже ста. Сколько простых чисел ниже одного миллиона имеют это замечательное свойство?
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 131: Партнерство с премьер-куб
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler131()</code> должен вернуть 173.
|
||||
testString: 'assert.strictEqual(euler131(), 173, "<code>euler131()</code> should return 173.");'
|
||||
- text: <code>euler131()</code> should return 173.
|
||||
testString: assert.strictEqual(euler131(), 173);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler131();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler131();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3f11000cf542c50ff03
|
||||
challengeType: 5
|
||||
title: 'Problem 132: Large repunit factors'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301760
|
||||
localeTitle: 'Задача 132: Большие факторы репутации'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Число, состоящее полностью из них, называется repunit. Определим R (k) как репутацию длины k. Например, R (10) = 1111111111 = 11 × 41 × 271 × 9091, а сумма этих простых коэффициентов равна 9414. Найдите сумму первых сорока простых множителей R (109). </section>
|
||||
<section id='description'>
|
||||
Число, состоящее полностью из них, называется repunit. Определим R (k) как репутацию длины k. Например, R (10) = 1111111111 = 11 × 41 × 271 × 9091, а сумма этих простых коэффициентов равна 9414. Найдите сумму первых сорока простых множителей R (109).
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 132: Большие факторы репутации
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler132()</code> должен возвращать 843296.
|
||||
testString: 'assert.strictEqual(euler132(), 843296, "<code>euler132()</code> should return 843296.");'
|
||||
- text: <code>euler132()</code> should return 843296.
|
||||
testString: assert.strictEqual(euler132(), 843296);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler132();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler132();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,23 +2,27 @@
|
||||
id: 5900f3f21000cf542c50ff04
|
||||
challengeType: 5
|
||||
title: 'Problem 133: Repunit nonfactors'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301761
|
||||
localeTitle: 'Задача 133: Рефанирование нефакторов'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Число, состоящее полностью из них, называется repunit. Определим R (k) как репутацию длины k; например, R (6) = 111111. Рассмотрим репутации вида R (10n). Хотя R (10), R (100) или R (1000) не делятся на 17, R (10000) делится на 17. Но не существует значения n, для которого R (10n) будет делить на 19. В факт, замечательно, что 11, 17, 41 и 73 являются единственными четырьмя штрихами ниже ста, которые могут быть фактором R (10n). Найдите сумму всех простых чисел ниже ста тысяч, которые никогда не будут фактором R (10n). </section>
|
||||
<section id='description'>
|
||||
Число, состоящее полностью из них, называется repunit. Определим R (k) как репутацию длины k; например, R (6) = 111111. Рассмотрим репутации вида R (10n). Хотя R (10), R (100) или R (1000) не делятся на 17, R (10000) делится на 17. Но не существует значения n, для которого R (10n) будет делить на 19. В факт, замечательно, что 11, 17, 41 и 73 являются единственными четырьмя штрихами ниже ста, которые могут быть фактором R (10n). Найдите сумму всех простых чисел ниже ста тысяч, которые никогда не будут фактором R (10n).
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
undefined
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
<section id='tests'>
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: ''
|
||||
testString: 'assert.strictEqual(euler133(), 453647705, "<code>euler133()</code> should return 453647705.");'
|
||||
- text: <code>euler133()</code> should return 453647705.
|
||||
testString: assert.strictEqual(euler133(), 453647705);
|
||||
|
||||
```
|
||||
|
||||
@@ -41,8 +45,6 @@ euler133();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -51,4 +53,5 @@ euler133();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,20 @@
|
||||
id: 5900f3f21000cf542c50ff05
|
||||
challengeType: 5
|
||||
title: 'Problem 134: Prime pair connection'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301762
|
||||
localeTitle: 'Проблема 134: Соединение с главной парой'
|
||||
---
|
||||
|
||||
## Description
|
||||
undefined
|
||||
<section id='description'>
|
||||
Consider the consecutive primes p1 = 19 and p2 = 23. It can be verified that 1219 is the smallest number such that the last digits are formed by p1 whilst also being divisible by p2.
|
||||
In fact, with the exception of p1 = 3 and p2 = 5, for every pair of consecutive primes, p2 > p1, there exist values of n for which the last digits are formed by p1 and n is divisible by p2. Let S be the smallest of these values of n.
|
||||
Find ∑ S for every pair of consecutive primes with 5 ≤ p1 ≤ 1000000.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +23,8 @@ undefined
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler134()</code> должен вернуть 18613426663617120.
|
||||
testString: 'assert.strictEqual(euler134(), 18613426663617120, "<code>euler134()</code> should return 18613426663617120.");'
|
||||
- text: <code>euler134()</code> should return 18613426663617120.
|
||||
testString: assert.strictEqual(euler134(), 18613426663617120);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +47,6 @@ euler134();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +55,5 @@ euler134();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3f31000cf542c50ff06
|
||||
challengeType: 5
|
||||
title: 'Problem 135: Same differences'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301763
|
||||
localeTitle: 'Проблема 135: Те же различия'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Для положительных целых чисел x, y и z являются последовательными членами арифметической прогрессии, наименьшее значение натурального числа n, для которого уравнение x2 - y2 - z2 = n имеет ровно два решения: n = 27: 342 - 272 - 202 = 122 - 92 - 62 = 27 Оказывается, что n = 1155 является наименьшим значением, которое имеет ровно десять решений. Сколько значений n менее одного миллиона имеет ровно десять различных решений? </section>
|
||||
<section id='description'>
|
||||
Для положительных целых чисел x, y и z являются последовательными членами арифметической прогрессии, наименьшее значение натурального числа n, для которого уравнение x2 - y2 - z2 = n имеет ровно два решения: n = 27: 342 - 272 - 202 = 122 - 92 - 62 = 27 Оказывается, что n = 1155 является наименьшим значением, которое имеет ровно десять решений. Сколько значений n менее одного миллиона имеет ровно десять различных решений?
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Проблема 135: Те же различия'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler135()</code> должен вернуть 4989.
|
||||
testString: 'assert.strictEqual(euler135(), 4989, "<code>euler135()</code> should return 4989.");'
|
||||
- text: <code>euler135()</code> should return 4989.
|
||||
testString: assert.strictEqual(euler135(), 4989);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler135();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler135();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3f51000cf542c50ff07
|
||||
challengeType: 5
|
||||
title: 'Problem 136: Singleton difference'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301764
|
||||
localeTitle: 'Задача 136: разность Синглтона'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Положительные целые числа x, y и z являются последовательными членами арифметической прогрессии. Учитывая, что n является положительным целым числом, уравнение x2 - y2 - z2 = n имеет ровно одно решение, когда n = 20: 132 - 102 - 72 = 20 Фактически, существует двадцать пять значений n ниже ста, для которых уравнение имеет единственное решение. Сколько значений n менее пятидесяти миллионов имеет ровно одно решение? </section>
|
||||
<section id='description'>
|
||||
Положительные целые числа x, y и z являются последовательными членами арифметической прогрессии. Учитывая, что n является положительным целым числом, уравнение x2 - y2 - z2 = n имеет ровно одно решение, когда n = 20: 132 - 102 - 72 = 20 Фактически, существует двадцать пять значений n ниже ста, для которых уравнение имеет единственное решение. Сколько значений n менее пятидесяти миллионов имеет ровно одно решение?
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 136: разность Синглтона'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler136()</code> должен вернуть 2544559.
|
||||
testString: 'assert.strictEqual(euler136(), 2544559, "<code>euler136()</code> should return 2544559.");'
|
||||
- text: <code>euler136()</code> should return 2544559.
|
||||
testString: assert.strictEqual(euler136(), 2544559);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler136();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler136();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3f51000cf542c50ff08
|
||||
challengeType: 5
|
||||
title: 'Problem 137: Fibonacci golden nuggets'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301765
|
||||
localeTitle: 'Задача 137: золотые самородки Фибоначчи'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Рассмотрим бесконечный полиномиальный ряд AF (x) = xF1 + x2F2 + x3F3 + ..., где Fk - k-й член в последовательности Фибоначчи: 1, 1, 2, 3, 5, 8, ...; то есть Fk = Fk-1 + Fk-2, F1 = 1 и F2 = 1. Для этой задачи нас будут интересовать значения x, для которых AF (x) является натуральным числом. Удивительно, что AF (1/2) = (1/2) .1 + (1/2) 2,1 + (1/2) 3,2 + (1/2) 4,3 + (1/2) 5,5 + ... <p> = 1/2 + 1/4 + 2/8 + 3/16 + 5/32 + ... </p><p> = 2 Соответствующие значения x для первых пяти натуральных чисел показаны ниже. </p><p> xAF (x) √2-11 1/22 (√13-2) / 33 (√89-5) / 84 (√34-3) / 55 </p><p> Будем называть AF (x) золотым саморождением, если x рационально, потому что они становятся все реже; например, 10-й золотой самородок - 74049690. Найдите 15-й золотой самородок. </p></section>
|
||||
<section id='description'>
|
||||
Рассмотрим бесконечный полиномиальный ряд AF (x) = xF1 + x2F2 + x3F3 + ..., где Fk - k-й член в последовательности Фибоначчи: 1, 1, 2, 3, 5, 8, ...; то есть Fk = Fk-1 + Fk-2, F1 = 1 и F2 = 1. Для этой задачи нас будут интересовать значения x, для которых AF (x) является натуральным числом. Удивительно, что AF (1/2) = (1/2) .1 + (1/2) 2,1 + (1/2) 3,2 + (1/2) 4,3 + (1/2) 5,5 + ... <p> = 1/2 + 1/4 + 2/8 + 3/16 + 5/32 + ... </p><p> = 2 Соответствующие значения x для первых пяти натуральных чисел показаны ниже. </p><p> xAF (x) √2-11 1/22 (√13-2) / 33 (√89-5) / 84 (√34-3) / 55 </p><p> Будем называть AF (x) золотым саморождением, если x рационально, потому что они становятся все реже; например, 10-й золотой самородок - 74049690. Найдите 15-й золотой самородок. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 137: золотые самородки Фибонач
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler137()</code> должен вернуть 1120149658760.
|
||||
testString: 'assert.strictEqual(euler137(), 1120149658760, "<code>euler137()</code> should return 1120149658760.");'
|
||||
- text: <code>euler137()</code> should return 1120149658760.
|
||||
testString: assert.strictEqual(euler137(), 1120149658760);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler137();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler137();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3f61000cf542c50ff09
|
||||
challengeType: 5
|
||||
title: 'Problem 138: Special isosceles triangles'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301766
|
||||
localeTitle: 'Задача 138: Специальные равнобедренные треугольники'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Рассмотрим равнобедренный треугольник с длиной основания, b = 16 и ногами, L = 17. <p> Используя теорему Пифагора, можно видеть, что высота треугольника h = √ (172 - 82) = 15, что на единицу меньше базовой длины. При b = 272 и L = 305 мы получаем h = 273, что больше, чем базовая длина, и это второй наименьший равнобедренный треугольник со свойством h = b ± 1. Найти Σ L для двенадцати наименьших равнобедренных треугольники, для которых h = b ± 1 и b, L - натуральные числа. </p></section>
|
||||
<section id='description'>
|
||||
Рассмотрим равнобедренный треугольник с длиной основания, b = 16 и ногами, L = 17. <p> Используя теорему Пифагора, можно видеть, что высота треугольника h = √ (172 - 82) = 15, что на единицу меньше базовой длины. При b = 272 и L = 305 мы получаем h = 273, что больше, чем базовая длина, и это второй наименьший равнобедренный треугольник со свойством h = b ± 1. Найти Σ L для двенадцати наименьших равнобедренных треугольники, для которых h = b ± 1 и b, L - натуральные числа. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 138: Специальные равнобедренн
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler138()</code> должен вернуть 1118049290473932.
|
||||
testString: 'assert.strictEqual(euler138(), 1118049290473932, "<code>euler138()</code> should return 1118049290473932.");'
|
||||
- text: <code>euler138()</code> should return 1118049290473932.
|
||||
testString: assert.strictEqual(euler138(), 1118049290473932);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler138();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler138();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3f71000cf542c50ff0a
|
||||
challengeType: 5
|
||||
title: 'Problem 139: Pythagorean tiles'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301767
|
||||
localeTitle: 'Проблема 139: Пифагорейская черепица'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Пусть (a, b, c) представляют собой три стороны прямоугольного треугольника со сторонами цельной длины. Можно объединить четыре таких треугольника, чтобы сформировать квадрат длиной c. Например, (3, 4, 5) треугольники могут быть помещены вместе, чтобы сформировать квадрат 5 на 5 с отверстием 1 на 1 в середине, и можно видеть, что квадрат 5 на 5 может быть выложен плиткой с двадцатью пятью 1 на 1 квадрат. <p> Однако, если были использованы (5, 12, 13) треугольники, то отверстие будет измерять 7 на 7, и они не могут использоваться для плитки 13 на 13 квадратов. Учитывая, что периметр правого треугольника составляет менее ста миллионов, сколько пифагорейских треугольников допускает такую черепицу? </p></section>
|
||||
<section id='description'>
|
||||
Пусть (a, b, c) представляют собой три стороны прямоугольного треугольника со сторонами цельной длины. Можно объединить четыре таких треугольника, чтобы сформировать квадрат длиной c. Например, (3, 4, 5) треугольники могут быть помещены вместе, чтобы сформировать квадрат 5 на 5 с отверстием 1 на 1 в середине, и можно видеть, что квадрат 5 на 5 может быть выложен плиткой с двадцатью пятью 1 на 1 квадрат. <p> Однако, если были использованы (5, 12, 13) треугольники, то отверстие будет измерять 7 на 7, и они не могут использоваться для плитки 13 на 13 квадратов. Учитывая, что периметр правого треугольника составляет менее ста миллионов, сколько пифагорейских треугольников допускает такую черепицу? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Проблема 139: Пифагорейская черепица'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler139()</code> должен вернуть 10057761.
|
||||
testString: 'assert.strictEqual(euler139(), 10057761, "<code>euler139()</code> should return 10057761.");'
|
||||
- text: <code>euler139()</code> should return 10057761.
|
||||
testString: assert.strictEqual(euler139(), 10057761);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler139();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler139();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,25 @@
|
||||
id: 5900f37a1000cf542c50fe8d
|
||||
challengeType: 5
|
||||
title: 'Problem 14: Longest Collatz sequence'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301768
|
||||
localeTitle: 'Задача 14: Самая длинная последовательность Collatz'
|
||||
---
|
||||
|
||||
## Description
|
||||
undefined
|
||||
<section id='description'>
|
||||
The following iterative sequence is defined for the set of positive integers:
|
||||
<div style='padding-left: 4em;'><var>n</var> → <var>n</var>/2 (<var>n</var> is even)</div>
|
||||
<div style='padding-left: 4em;'><var>n</var> → 3<var>n</var> + 1 (<var>n</var> is odd)</div>
|
||||
Using the rule above and starting with 13, we generate the following sequence:
|
||||
<div style='text-align: center;'>13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1</div>
|
||||
It can be seen that this sequence (starting at 13 and finishing at 1) contains 10 terms. Although it has not been proved yet (Collatz Problem), it is thought that all starting numbers finish at 1.
|
||||
Which starting number, under the given <code>limit</code>, produces the longest chain?
|
||||
NOTE: Once the chain starts the terms are allowed to go above one million.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,16 +28,16 @@ undefined
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>longestCollatzSequence(14)</code> должен вернуть 9.
|
||||
testString: 'assert.strictEqual(longestCollatzSequence(14), 9, "<code>longestCollatzSequence(14)</code> should return 9.");'
|
||||
- text: <code>longestCollatzSequence(5847)</code> должен вернуть 3711.
|
||||
testString: 'assert.strictEqual(longestCollatzSequence(5847), 3711, "<code>longestCollatzSequence(5847)</code> should return 3711.");'
|
||||
- text: <code>longestCollatzSequence(46500)</code> должен вернуть 35655.
|
||||
testString: 'assert.strictEqual(longestCollatzSequence(46500), 35655, "<code>longestCollatzSequence(46500)</code> should return 35655.");'
|
||||
- text: <code>longestCollatzSequence(54512)</code> должен вернуть 52527.
|
||||
testString: 'assert.strictEqual(longestCollatzSequence(54512), 52527, "<code>longestCollatzSequence(54512)</code> should return 52527.");'
|
||||
- text: <code>longestCollatzSequence(1000000)</code> должен вернуть 837799.
|
||||
testString: 'assert.strictEqual(longestCollatzSequence(1000000), 837799, "<code>longestCollatzSequence(1000000)</code> should return 837799.");'
|
||||
- text: <code>longestCollatzSequence(14)</code> should return 9.
|
||||
testString: assert.strictEqual(longestCollatzSequence(14), 9);
|
||||
- text: <code>longestCollatzSequence(5847)</code> should return 3711.
|
||||
testString: assert.strictEqual(longestCollatzSequence(5847), 3711);
|
||||
- text: <code>longestCollatzSequence(46500)</code> should return 35655.
|
||||
testString: assert.strictEqual(longestCollatzSequence(46500), 35655);
|
||||
- text: <code>longestCollatzSequence(54512)</code> should return 52527.
|
||||
testString: assert.strictEqual(longestCollatzSequence(54512), 52527);
|
||||
- text: <code>longestCollatzSequence(1000000)</code> should return 837799.
|
||||
testString: assert.strictEqual(longestCollatzSequence(1000000), 837799);
|
||||
|
||||
```
|
||||
|
||||
@@ -50,14 +60,41 @@ longestCollatzSequence(14);
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
<section id='solution'>
|
||||
|
||||
```js
|
||||
// solution required
|
||||
function longestCollatzSequence(limit) {
|
||||
let longestSequenceLength = 0;
|
||||
let startingNum = 0;
|
||||
|
||||
function sequenceLength(num) {
|
||||
let length = 1;
|
||||
|
||||
while (num >= 1) {
|
||||
if (num === 1) { break;
|
||||
} else if (num % 2 === 0) {
|
||||
num = num / 2;
|
||||
length++;
|
||||
} else {
|
||||
num = num * 3 + 1;
|
||||
length++;
|
||||
}
|
||||
}
|
||||
return length;
|
||||
}
|
||||
|
||||
for (let i = 2; i < limit; i++) {
|
||||
let currSequenceLength = sequenceLength(i);
|
||||
if (currSequenceLength > longestSequenceLength) {
|
||||
longestSequenceLength = currSequenceLength;
|
||||
startingNum = i;
|
||||
}
|
||||
}
|
||||
return startingNum;
|
||||
}
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3fa1000cf542c50ff0c
|
||||
challengeType: 5
|
||||
title: 'Problem 140: Modified Fibonacci golden nuggets'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301769
|
||||
localeTitle: 'Проблема 140: Модифицированные золотые самородки Фибоначчи'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Рассмотрим бесконечный полиномиальный ряд AG (x) = xG1 + x2G2 + x3G3 + ..., где Gk - k-й член рекуррентного отношения второго порядка Gk = Gk-1 + Gk-2, G1 = 1 и G2 = 4; то есть 1, 4, 5, 9, 14, 23, .... Для этой задачи мы будем иметь дело со значениями x, для которых AG (x) является натуральным числом. Соответствующие значения x для первых пяти натуральных чисел показаны ниже. <p> xAG (x) (√5-1) / 41 2/52 (√22-2) / 63 (√137-5) / 144 1/25 </p><p> Будем называть AG (x) золотым саморождением, если x рационально, потому что они становятся все реже; например, 20-й золотой самородок - 211345365. Найдите сумму первых тридцати золотых самородков. </p></section>
|
||||
<section id='description'>
|
||||
Рассмотрим бесконечный полиномиальный ряд AG (x) = xG1 + x2G2 + x3G3 + ..., где Gk - k-й член рекуррентного отношения второго порядка Gk = Gk-1 + Gk-2, G1 = 1 и G2 = 4; то есть 1, 4, 5, 9, 14, 23, .... Для этой задачи мы будем иметь дело со значениями x, для которых AG (x) является натуральным числом. Соответствующие значения x для первых пяти натуральных чисел показаны ниже. <p> xAG (x) (√5-1) / 41 2/52 (√22-2) / 63 (√137-5) / 144 1/25 </p><p> Будем называть AG (x) золотым саморождением, если x рационально, потому что они становятся все реже; например, 20-й золотой самородок - 211345365. Найдите сумму первых тридцати золотых самородков. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Проблема 140: Модифицированные золот
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler140()</code> должен вернуть 5673835352990.
|
||||
testString: 'assert.strictEqual(euler140(), 5673835352990, "<code>euler140()</code> should return 5673835352990.");'
|
||||
- text: <code>euler140()</code> should return 5673835352990.
|
||||
testString: assert.strictEqual(euler140(), 5673835352990);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler140();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler140();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3f91000cf542c50ff0b
|
||||
challengeType: 5
|
||||
title: 'Problem 141: Investigating progressive numbers, n, which are also square'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301770
|
||||
localeTitle: 'Задача 141: исследование прогрессивных чисел n, которые также являются квадратными'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Положительное целое число n делится на d, а частное и остальное - q и r соответственно. Кроме того, d, q и r являются последовательными положительными целыми членами в геометрической последовательности, но необязательно в этом порядке. Например, 58, разделенные на 6, имеют фактор 9 и остаток 4. Можно также видеть, что 4, 6, 9 являются последовательными членами в геометрической последовательности (общее соотношение 3/2). Назовем такие числа, n, прогрессивными. Некоторые прогрессивные числа, такие как 9 и 10404 = 1022, также являются идеальными квадратами. Сумма всех прогрессивных совершенных квадратов ниже ста тысяч - 124657. Найдите сумму всех прогрессивных совершенных квадратов ниже одного триллиона (1012). </section>
|
||||
<section id='description'>
|
||||
Положительное целое число n делится на d, а частное и остальное - q и r соответственно. Кроме того, d, q и r являются последовательными положительными целыми членами в геометрической последовательности, но необязательно в этом порядке. Например, 58, разделенные на 6, имеют фактор 9 и остаток 4. Можно также видеть, что 4, 6, 9 являются последовательными членами в геометрической последовательности (общее соотношение 3/2). Назовем такие числа, n, прогрессивными. Некоторые прогрессивные числа, такие как 9 и 10404 = 1022, также являются идеальными квадратами. Сумма всех прогрессивных совершенных квадратов ниже ста тысяч - 124657. Найдите сумму всех прогрессивных совершенных квадратов ниже одного триллиона (1012).
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 141: исследование прогрессивн
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler141()</code> должен вернуть 878454337159.
|
||||
testString: 'assert.strictEqual(euler141(), 878454337159, "<code>euler141()</code> should return 878454337159.");'
|
||||
- text: <code>euler141()</code> should return 878454337159.
|
||||
testString: assert.strictEqual(euler141(), 878454337159);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler141();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler141();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3fa1000cf542c50ff0d
|
||||
challengeType: 5
|
||||
title: 'Problem 142: Perfect Square Collection'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301771
|
||||
localeTitle: 'Проблема 142: Идеальная квадратная коллекция'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Найти наименьшие x + y + z с целыми числами x> y> z> 0 такими, что x + y, x - y, x + z, x - z, y + z, y - z - все совершенные квадраты. </section>
|
||||
<section id='description'>
|
||||
Найти наименьшие x + y + z с целыми числами x> y> z> 0 такими, что x + y, x - y, x + z, x - z, y + z, y - z - все совершенные квадраты.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Проблема 142: Идеальная квадратная ко
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler142()</code> должен возвращать 1006193.
|
||||
testString: 'assert.strictEqual(euler142(), 1006193, "<code>euler142()</code> should return 1006193.");'
|
||||
- text: <code>euler142()</code> should return 1006193.
|
||||
testString: assert.strictEqual(euler142(), 1006193);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler142();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler142();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3fc1000cf542c50ff0e
|
||||
challengeType: 5
|
||||
title: 'Problem 143: Investigating the Torricelli point of a triangle'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301772
|
||||
localeTitle: 'Задача 143: Исследование точки Торричелли треугольника'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Пусть ABC - треугольник со всеми внутренними углами, составляющим менее 120 градусов. Пусть X - любая точка внутри треугольника и XA = p, XC = q и XB = r. Ферма бросил вызов Торричелли, чтобы найти положение X такое, что p + q + r было сведено к минимуму. Торричелли смог доказать, что если на каждой стороне треугольника ABC построены равносторонние треугольники AOB, BNC и AMC, описанные окружности AOB, BNC и AMC будут пересекаться в одной точке T внутри треугольника. Более того, он доказал, что T, называемое точкой Торричелли / Ферма, минимизирует p + q + r. Еще более примечательно, что можно показать, что при минимизации суммы AN = BM = CO = p + q + r и что AN, BM и CO также пересекаются в T. <p> Если сумма минимизирована и a, b, c, p, q и r - все целые положительные числа, мы будем называть треугольник ABC треугольником Торричелли. Например, a = 399, b = 455, c = 511 является примером треугольника Торричелли с p + q + r = 784. Найдите сумму всех различных значений p + q + r ≤ 120000 для треугольников Торричелли. </p></section>
|
||||
<section id='description'>
|
||||
Пусть ABC - треугольник со всеми внутренними углами, составляющим менее 120 градусов. Пусть X - любая точка внутри треугольника и XA = p, XC = q и XB = r. Ферма бросил вызов Торричелли, чтобы найти положение X такое, что p + q + r было сведено к минимуму. Торричелли смог доказать, что если на каждой стороне треугольника ABC построены равносторонние треугольники AOB, BNC и AMC, описанные окружности AOB, BNC и AMC будут пересекаться в одной точке T внутри треугольника. Более того, он доказал, что T, называемое точкой Торричелли / Ферма, минимизирует p + q + r. Еще более примечательно, что можно показать, что при минимизации суммы AN = BM = CO = p + q + r и что AN, BM и CO также пересекаются в T. <p> Если сумма минимизирована и a, b, c, p, q и r - все целые положительные числа, мы будем называть треугольник ABC треугольником Торричелли. Например, a = 399, b = 455, c = 511 является примером треугольника Торричелли с p + q + r = 784. Найдите сумму всех различных значений p + q + r ≤ 120000 для треугольников Торричелли. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 143: Исследование точки Торрич
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler143()</code> должен вернуть 30758397.
|
||||
testString: 'assert.strictEqual(euler143(), 30758397, "<code>euler143()</code> should return 30758397.");'
|
||||
- text: <code>euler143()</code> should return 30758397.
|
||||
testString: assert.strictEqual(euler143(), 30758397);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler143();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler143();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3fc1000cf542c50ff0f
|
||||
challengeType: 5
|
||||
title: 'Problem 144: Investigating multiple reflections of a laser beam'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301773
|
||||
localeTitle: 'Задача 144: Исследование множественных отражений лазерного луча'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> В лазерной физике «белая ячейка» представляет собой зеркальную систему, которая действует как линия задержки для лазерного луча. Луч входит в камеру, отскакивает вокруг зеркал и, в конце концов, возвращается обратно. Конкретная белая ячейка, которую мы будем рассматривать, представляет собой эллипс с уравнением 4x2 + y2 = 100. Раздел, соответствующий началу -0.01 ≤ x ≤ +0.01 наверху, отсутствует, позволяя свету проникать внутрь и выходить через отверстие. <p> Световой пучок в этой задаче начинается в точке (0,0,10,1) непосредственно за белой ячейкой, а луч сначала воздействует на зеркало (1.4, -9.6). Каждый раз, когда лазерный луч попадает на поверхность эллипса, он следует обычному закону отражения «угол падения равен углу отражения». То есть, как падающий, так и отраженный пучки образуют одинаковый угол с нормальной линией в точке падения. На рисунке слева красная линия показывает первые две точки контакта между лазерным лучом и стенкой белой ячейки; синяя линия показывает линию, касательную к эллипсу в точке падения первого отскока. Наклон m касательной линии в любой точке (x, y) данного эллипса равен: m = -4x / y. Обычная линия равна перпендикулярной этой касательной линии в точке падения. Анимация справа показывает первые 10 отражений луча. </p><p> Сколько раз луч попадает на внутреннюю поверхность белой ячейки перед выходом? </p></section>
|
||||
<section id='description'>
|
||||
В лазерной физике «белая ячейка» представляет собой зеркальную систему, которая действует как линия задержки для лазерного луча. Луч входит в камеру, отскакивает вокруг зеркал и, в конце концов, возвращается обратно. Конкретная белая ячейка, которую мы будем рассматривать, представляет собой эллипс с уравнением 4x2 + y2 = 100. Раздел, соответствующий началу -0.01 ≤ x ≤ +0.01 наверху, отсутствует, позволяя свету проникать внутрь и выходить через отверстие. <p> Световой пучок в этой задаче начинается в точке (0,0,10,1) непосредственно за белой ячейкой, а луч сначала воздействует на зеркало (1.4, -9.6). Каждый раз, когда лазерный луч попадает на поверхность эллипса, он следует обычному закону отражения «угол падения равен углу отражения». То есть, как падающий, так и отраженный пучки образуют одинаковый угол с нормальной линией в точке падения. На рисунке слева красная линия показывает первые две точки контакта между лазерным лучом и стенкой белой ячейки; синяя линия показывает линию, касательную к эллипсу в точке падения первого отскока. Наклон m касательной линии в любой точке (x, y) данного эллипса равен: m = -4x / y. Обычная линия равна перпендикулярной этой касательной линии в точке падения. Анимация справа показывает первые 10 отражений луча. </p><p> Сколько раз луч попадает на внутреннюю поверхность белой ячейки перед выходом? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 144: Исследование множественн
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler144()</code> должен возвращать 354.
|
||||
testString: 'assert.strictEqual(euler144(), 354, "<code>euler144()</code> should return 354.");'
|
||||
- text: <code>euler144()</code> should return 354.
|
||||
testString: assert.strictEqual(euler144(), 354);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler144();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler144();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3fd1000cf542c50ff10
|
||||
challengeType: 5
|
||||
title: 'Problem 145: How many reversible numbers are there below one-billion?'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301774
|
||||
localeTitle: 'Проблема 145: Сколько обратимых чисел там ниже одного миллиарда?'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Некоторые положительные целые числа n обладают тем свойством, что сумма [n + reverse (n)] целиком состоит из нечетных (десятичных) цифр. Например, 36 + 63 = 99 и 409 + 904 = 1313. Мы будем называть такие числа обратимыми; поэтому 36, 63, 409 и 904 являются обратимыми. Ведущие нули не допускаются ни в n, ни в обратном (n). <p> Есть 120 обратимых чисел ниже одной тысячи. </p><p> Сколько обратимых чисел там ниже одного миллиарда (109)? </p></section>
|
||||
<section id='description'>
|
||||
Некоторые положительные целые числа n обладают тем свойством, что сумма [n + reverse (n)] целиком состоит из нечетных (десятичных) цифр. Например, 36 + 63 = 99 и 409 + 904 = 1313. Мы будем называть такие числа обратимыми; поэтому 36, 63, 409 и 904 являются обратимыми. Ведущие нули не допускаются ни в n, ни в обратном (n). <p> Есть 120 обратимых чисел ниже одной тысячи. </p><p> Сколько обратимых чисел там ниже одного миллиарда (109)? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Проблема 145: Сколько обратимых чисел
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler145()</code> должен возвращать 608720.
|
||||
testString: 'assert.strictEqual(euler145(), 608720, "<code>euler145()</code> should return 608720.");'
|
||||
- text: <code>euler145()</code> should return 608720.
|
||||
testString: assert.strictEqual(euler145(), 608720);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler145();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler145();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3fe1000cf542c50ff11
|
||||
challengeType: 5
|
||||
title: 'Problem 146: Investigating a Prime Pattern'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301775
|
||||
localeTitle: 'Задача 146: Исследование основного шаблона'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Наименьшее положительное целое число n, для которого числа n2 + 1, n2 + 3, n2 + 7, n2 + 9, n2 + 13 и n2 + 27 являются последовательными штрихами, равно 10. Сумма всех таких целых n меньше одного миллиона 1242490. <p> Какова сумма всех таких целых чисел n менее 150 миллионов? </p></section>
|
||||
<section id='description'>
|
||||
Наименьшее положительное целое число n, для которого числа n2 + 1, n2 + 3, n2 + 7, n2 + 9, n2 + 13 и n2 + 27 являются последовательными штрихами, равно 10. Сумма всех таких целых n меньше одного миллиона 1242490. <p> Какова сумма всех таких целых чисел n менее 150 миллионов? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 146: Исследование основного ша
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler146()</code> должен вернуть 676333270.
|
||||
testString: 'assert.strictEqual(euler146(), 676333270, "<code>euler146()</code> should return 676333270.");'
|
||||
- text: <code>euler146()</code> should return 676333270.
|
||||
testString: assert.strictEqual(euler146(), 676333270);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler146();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler146();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f3ff1000cf542c50ff12
|
||||
challengeType: 5
|
||||
title: 'Problem 147: Rectangles in cross-hatched grids'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301776
|
||||
localeTitle: 'Задача 147: Прямоугольники в сетчатых сетках'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> В сетке с поперечным вырезом 3x2 в пределах этой сетки может быть расположено в общей сложности 37 различных прямоугольников, как указано в эскизе. <p> Существует 5 сеток размером меньше 3x2, важны вертикальные и горизонтальные размеры, то есть 1x1, 2x1, 3x1, 1x2 и 2x2. Если каждый из них заштрихован, в пределах меньших сеток может быть расположено следующее количество различных прямоугольников: 1x1: 1 2x1: 4 3x1: 8 1x2: 4 2x2: 18 </p><p> Добавив их к 37 сетке 3x2, в общей сложности 72 разных прямоугольника могут быть расположены в сетках 3x2 и меньших. </p><p> Сколько различных прямоугольников могло быть расположено в пределах 47x43 и меньших сетках? </p></section>
|
||||
<section id='description'>
|
||||
В сетке с поперечным вырезом 3x2 в пределах этой сетки может быть расположено в общей сложности 37 различных прямоугольников, как указано в эскизе. <p> Существует 5 сеток размером меньше 3x2, важны вертикальные и горизонтальные размеры, то есть 1x1, 2x1, 3x1, 1x2 и 2x2. Если каждый из них заштрихован, в пределах меньших сеток может быть расположено следующее количество различных прямоугольников: 1x1: 1 2x1: 4 3x1: 8 1x2: 4 2x2: 18 </p><p> Добавив их к 37 сетке 3x2, в общей сложности 72 разных прямоугольника могут быть расположены в сетках 3x2 и меньших. </p><p> Сколько различных прямоугольников могло быть расположено в пределах 47x43 и меньших сетках? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 147: Прямоугольники в сетчатых
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler147()</code> должен вернуться 846910284.
|
||||
testString: 'assert.strictEqual(euler147(), 846910284, "<code>euler147()</code> should return 846910284.");'
|
||||
- text: <code>euler147()</code> should return 846910284.
|
||||
testString: assert.strictEqual(euler147(), 846910284);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler147();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler147();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -1,16 +1,19 @@
|
||||
---
|
||||
id: 5900f4021000cf542c50ff14
|
||||
challengeType: 5
|
||||
title: 'Problem 148: Exploring Pascal"s triangle'
|
||||
videoUrl: ''
|
||||
title: 'Problem 148: Exploring Pascal''s triangle'
|
||||
forumTopicId: 301777
|
||||
localeTitle: 'Задача 148: Изучение треугольника Паскаля'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Легко проверить, что ни одна из записей в первых семи строках треугольника Паскаля не делится на 7: <p> 1 </p><p> 1 </p><p> 1 </p><p> 1 </p><p> 2 </p><p> 1 </p><p> 1 </p><p> 3 </p><p> 3 </p><p> 1 </p><p> 1 </p><p> 4 </p><p> 6 </p><p> 4 </p><p> 1 </p><p> 1 </p><p> 5 </p><p> 10 </p><p> 10 </p><p> 5 </p><p> 1 1 </p><p> 6 </p><p> 15 </p><p> 20 </p><p> 15 </p><p> 6 </p><p> 1 Однако, если мы проверим первую ста строк, мы обнаружим, что только 2361 из 5050 записей не делятся на 7. </p><p> Найдите количество записей, которые не делятся на 7 в первом миллиарде (109) строк треугольника Паскаля. </p></section>
|
||||
<section id='description'>
|
||||
Легко проверить, что ни одна из записей в первых семи строках треугольника Паскаля не делится на 7: <p> 1 </p><p> 1 </p><p> 1 </p><p> 1 </p><p> 2 </p><p> 1 </p><p> 1 </p><p> 3 </p><p> 3 </p><p> 1 </p><p> 1 </p><p> 4 </p><p> 6 </p><p> 4 </p><p> 1 </p><p> 1 </p><p> 5 </p><p> 10 </p><p> 10 </p><p> 5 </p><p> 1 1 </p><p> 6 </p><p> 15 </p><p> 20 </p><p> 15 </p><p> 6 </p><p> 1 Однако, если мы проверим первую ста строк, мы обнаружим, что только 2361 из 5050 записей не делятся на 7. </p><p> Найдите количество записей, которые не делятся на 7 в первом миллиарде (109) строк треугольника Паскаля. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
Find the number of entries which are not divisible by 7 in the first one billion (10<sup>9</sup>) rows of Pascal's triangle.
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 148: Изучение треугольника Пас
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler148()</code> должен вернуть 2129970655314432.
|
||||
testString: 'assert.strictEqual(euler148(), 2129970655314432, "<code>euler148()</code> should return 2129970655314432.");'
|
||||
- text: <code>euler148()</code> should return 2129970655314432.
|
||||
testString: assert.strictEqual(euler148(), 2129970655314432);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler148();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler148();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4021000cf542c50ff13
|
||||
challengeType: 5
|
||||
title: 'Problem 149: Searching for a maximum-sum subsequence'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301778
|
||||
localeTitle: 'Задача 149: Поиск подпоследовательности максимальной суммы'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Посмотрев таблицу ниже, легко убедиться, что максимально возможная сумма смежных чисел в любом направлении (горизонтальная, вертикальная, диагональная или антидиагональная) равна 16 (= 8 + 7 + 1). <p> -25329-6513273-18-4 8 </p><p> Теперь повторим поиск, но в гораздо большем масштабе: </p><p> Во-первых, сгенерируйте четыре миллиона псевдослучайных чисел, используя определенную форму так называемого «генератора с отложенным фибоначчи»: </p><p> Для 1 ≤ k ≤ 55, sk = [100003 - 200003k + 300007k3] (по модулю 1000000) - 500000. Для 56 ≤ k ≤ 4000000, sk = [sk-24 + sk-55 + 1000000] (по модулю 1000000) - 500000. </p><p> Таким образом, s10 = -393027 и s100 = 86613. </p><p> Затем термины s располагаются в таблице 2000 × 2000, используя первые 2000 номеров для заполнения первой строки (последовательно), следующих номеров 2000 для заполнения второй строки и т. Д. </p><p> Наконец, найдите наибольшую сумму (любое число) смежных записей в любом направлении (горизонтальное, вертикальное, диагональное или антидиагональное). </p></section>
|
||||
<section id='description'>
|
||||
Посмотрев таблицу ниже, легко убедиться, что максимально возможная сумма смежных чисел в любом направлении (горизонтальная, вертикальная, диагональная или антидиагональная) равна 16 (= 8 + 7 + 1). <p> -25329-6513273-18-4 8 </p><p> Теперь повторим поиск, но в гораздо большем масштабе: </p><p> Во-первых, сгенерируйте четыре миллиона псевдослучайных чисел, используя определенную форму так называемого «генератора с отложенным фибоначчи»: </p><p> Для 1 ≤ k ≤ 55, sk = [100003 - 200003k + 300007k3] (по модулю 1000000) - 500000. Для 56 ≤ k ≤ 4000000, sk = [sk-24 + sk-55 + 1000000] (по модулю 1000000) - 500000. </p><p> Таким образом, s10 = -393027 и s100 = 86613. </p><p> Затем термины s располагаются в таблице 2000 × 2000, используя первые 2000 номеров для заполнения первой строки (последовательно), следующих номеров 2000 для заполнения второй строки и т. Д. </p><p> Наконец, найдите наибольшую сумму (любое число) смежных записей в любом направлении (горизонтальное, вертикальное, диагональное или антидиагональное). </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 149: Поиск подпоследовательно
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler149()</code> должен вернуть 52852124.
|
||||
testString: 'assert.strictEqual(euler149(), 52852124, "<code>euler149()</code> should return 52852124.");'
|
||||
- text: <code>euler149()</code> should return 52852124.
|
||||
testString: assert.strictEqual(euler149(), 52852124);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler149();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler149();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f37b1000cf542c50fe8e
|
||||
challengeType: 5
|
||||
title: 'Problem 15: Lattice paths'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301780
|
||||
localeTitle: 'Задача 15: Решетчатые пути'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Начиная в левом верхнем углу сетки 2 × 2 и только имея возможность двигаться вправо и вниз, ровно 6 маршрутов в нижний правый угол. <img class="img-responsive center-block" alt="диаграмма 6 2 на 2 сетки, показывающая все маршруты в нижний правый угол" src="https://cdn-media-1.freecodecamp.org/imgr/1Atixoj.gif"><p> Сколько таких маршрутов существует через заданный <code>gridSize</code> ? </p></section>
|
||||
<section id='description'>
|
||||
Начиная в левом верхнем углу сетки 2 × 2 и только имея возможность двигаться вправо и вниз, ровно 6 маршрутов в нижний правый угол. <img class="img-responsive center-block" alt="диаграмма 6 2 на 2 сетки, показывающая все маршруты в нижний правый угол" src="https://cdn-media-1.freecodecamp.org/imgr/1Atixoj.gif"><p> Сколько таких маршрутов существует через заданный <code>gridSize</code> ? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,12 +21,12 @@ localeTitle: 'Задача 15: Решетчатые пути'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>latticePaths(4)</code> должна вернуть 70.
|
||||
testString: 'assert.strictEqual(latticePaths(4), 70, "<code>latticePaths(4)</code> should return 70.");'
|
||||
- text: <code>latticePaths(9)</code> должна вернуть 48620.
|
||||
testString: 'assert.strictEqual(latticePaths(9), 48620, "<code>latticePaths(9)</code> should return 48620.");'
|
||||
- text: <code>latticePaths(20)</code> должна возвращать 137846528820.
|
||||
testString: 'assert.strictEqual(latticePaths(20), 137846528820, "<code>latticePaths(20)</code> should return 137846528820.");'
|
||||
- text: <code>latticePaths(4)</code> should return 70.
|
||||
testString: assert.strictEqual(latticePaths(4), 70);
|
||||
- text: <code>latticePaths(9)</code> should return 48620.
|
||||
testString: assert.strictEqual(latticePaths(9), 48620);
|
||||
- text: <code>latticePaths(20)</code> should return 137846528820.
|
||||
testString: assert.strictEqual(latticePaths(20), 137846528820);
|
||||
|
||||
```
|
||||
|
||||
@@ -46,14 +49,21 @@ latticePaths(4);
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
<section id='solution'>
|
||||
|
||||
```js
|
||||
// solution required
|
||||
function latticePaths(gridSize) {
|
||||
let paths = 1;
|
||||
|
||||
for (let i = 0; i < gridSize; i++) {
|
||||
paths *= (2 * gridSize) - i;
|
||||
paths /= i + 1;
|
||||
}
|
||||
return paths;
|
||||
}
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4031000cf542c50ff15
|
||||
challengeType: 5
|
||||
title: 'Problem 150: Searching a triangular array for a sub-triangle having minimum-sum'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301781
|
||||
localeTitle: 'Задача 150: Поиск треугольного массива для под треугольника с минимальной суммой'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> В треугольном массиве положительных и отрицательных целых чисел мы хотим найти под-треугольник таким образом, чтобы сумма содержащихся в нем чисел была наименьшей возможной. В приведенном ниже примере легко проверить, что отмеченный треугольник удовлетворяет этому условию, имеющему сумму -42. <p> Мы хотим сделать такой треугольный массив с одной тысячей строк, поэтому мы генерируем псевдослучайные числа 500500 sk в диапазоне ± 219, используя тип генератора случайных чисел (известный как линейный конгруэнтный генератор) следующим образом: t: = 0 </p><p> для k = 1 до k = 500500: </p><p> t: = (615949 * t + 797807) modulo 220 sk: = t-219 Таким образом: s1 = 273519, s2 = -153582, s3 = 450905 и т. д. Наш треугольный массив затем формируется с использованием псевдослучайных чисел, таким образом: </p><p> s1 s2 s3 s4 s5 s6 </p><p> s7 s8 s9 s10 ... </p><p> Субтреугольники могут начинаться с любого элемента массива и расширяться до тех пор, пока нам нравится (приведение двух элементов непосредственно под ним из следующей строки, три элемента непосредственно ниже из строки после этого и т. Д.). </p><p> «Сумма под треугольника» определяется как сумма всех содержащихся в ней элементов. </p><p> Найдите наименьшую возможную сумму под треугольника. </p></section>
|
||||
<section id='description'>
|
||||
В треугольном массиве положительных и отрицательных целых чисел мы хотим найти под-треугольник таким образом, чтобы сумма содержащихся в нем чисел была наименьшей возможной. В приведенном ниже примере легко проверить, что отмеченный треугольник удовлетворяет этому условию, имеющему сумму -42. <p> Мы хотим сделать такой треугольный массив с одной тысячей строк, поэтому мы генерируем псевдослучайные числа 500500 sk в диапазоне ± 219, используя тип генератора случайных чисел (известный как линейный конгруэнтный генератор) следующим образом: t: = 0 </p><p> для k = 1 до k = 500500: </p><p> t: = (615949 * t + 797807) modulo 220 sk: = t-219 Таким образом: s1 = 273519, s2 = -153582, s3 = 450905 и т. д. Наш треугольный массив затем формируется с использованием псевдослучайных чисел, таким образом: </p><p> s1 s2 s3 s4 s5 s6 </p><p> s7 s8 s9 s10 ... </p><p> Субтреугольники могут начинаться с любого элемента массива и расширяться до тех пор, пока нам нравится (приведение двух элементов непосредственно под ним из следующей строки, три элемента непосредственно ниже из строки после этого и т. Д.). </p><p> «Сумма под треугольника» определяется как сумма всех содержащихся в ней элементов. </p><p> Найдите наименьшую возможную сумму под треугольника. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 150: Поиск треугольного массив
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler150()</code> должен возвращать -271248680.
|
||||
testString: 'assert.strictEqual(euler150(), -271248680, "<code>euler150()</code> should return -271248680.");'
|
||||
- text: <code>euler150()</code> should return -271248680.
|
||||
testString: assert.strictEqual(euler150(), -271248680);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler150();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler150();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4031000cf542c50ff16
|
||||
challengeType: 5
|
||||
title: 'Problem 151: Paper sheets of standard sizes: an expected-value problem'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301782
|
||||
localeTitle: 'Проблема 151: Бумажные листы стандартных размеров: проблема с ожидаемым значением'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> В типографии каждую неделю работает 16 партий (рабочих мест), и каждая партия требует лист специальной цветной бумаги формата A5. Каждое утро в понедельник бригадир открывает новый конверт, содержащий большой лист специальной бумаги размером А1. Он продолжает сокращать его пополам, получая два листа размера A2. Затем он разрезает одну из них пополам, чтобы получить два листа размера A3 и так далее, пока он не получит лист размера A5, необходимый для первой партии недели. Все неиспользуемые листы помещаются обратно в конверт. <p> В начале каждой последующей партии он берет из конверта один лист бумаги наугад. Если он имеет размер A5, он использует его. Если он больше, он повторяет процедуру «разрезания», пока у него не будет того, что ему нужно, и все оставшиеся листы всегда будут помещены обратно в конверт. Исключая первую и последнюю партию недели, найдите ожидаемое количество раз (в течение каждой недели), чтобы бригадир нашел в конверте один лист бумаги. Дайте ваш ответ округленным до шести знаков после запятой, используя формат x.xxxxxx. </p></section>
|
||||
<section id='description'>
|
||||
В типографии каждую неделю работает 16 партий (рабочих мест), и каждая партия требует лист специальной цветной бумаги формата A5. Каждое утро в понедельник бригадир открывает новый конверт, содержащий большой лист специальной бумаги размером А1. Он продолжает сокращать его пополам, получая два листа размера A2. Затем он разрезает одну из них пополам, чтобы получить два листа размера A3 и так далее, пока он не получит лист размера A5, необходимый для первой партии недели. Все неиспользуемые листы помещаются обратно в конверт. <p> В начале каждой последующей партии он берет из конверта один лист бумаги наугад. Если он имеет размер A5, он использует его. Если он больше, он повторяет процедуру «разрезания», пока у него не будет того, что ему нужно, и все оставшиеся листы всегда будут помещены обратно в конверт. Исключая первую и последнюю партию недели, найдите ожидаемое количество раз (в течение каждой недели), чтобы бригадир нашел в конверте один лист бумаги. Дайте ваш ответ округленным до шести знаков после запятой, используя формат x.xxxxxx. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Проблема 151: Бумажные листы стандарт
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler151()</code> должен возвращать 0.464399.
|
||||
testString: 'assert.strictEqual(euler151(), 0.464399, "<code>euler151()</code> should return 0.464399.");'
|
||||
- text: <code>euler151()</code> should return 0.464399.
|
||||
testString: assert.strictEqual(euler151(), 0.464399);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler151();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler151();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4041000cf542c50ff17
|
||||
challengeType: 5
|
||||
title: 'Problem 152: Writing one half as a sum of inverse squares'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301783
|
||||
localeTitle: 'Задача 152: Написание половины в виде суммы обратных квадратов'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Существует несколько способов записать число 1/2 в виде суммы обратных квадратов с использованием различных целых чисел. Например, можно использовать числа {2,3,4,5,7,12,15,20,28,35}: <p> Фактически, только используя целые числа от 2 до 45 включительно, существует ровно три способа сделать это, остальные два: {2,3,4,6,7,9,10,20,28,35,36,45 } и {2,3,4,6,7,9,12,15,28,30,35,36,45}. Сколько способов записать число 1/2 в виде суммы обратных квадратов, используя различные целые числа от 2 до 80 включительно? </p></section>
|
||||
<section id='description'>
|
||||
Существует несколько способов записать число 1/2 в виде суммы обратных квадратов с использованием различных целых чисел. Например, можно использовать числа {2,3,4,5,7,12,15,20,28,35}: <p> Фактически, только используя целые числа от 2 до 45 включительно, существует ровно три способа сделать это, остальные два: {2,3,4,6,7,9,10,20,28,35,36,45 } и {2,3,4,6,7,9,12,15,28,30,35,36,45}. Сколько способов записать число 1/2 в виде суммы обратных квадратов, используя различные целые числа от 2 до 80 включительно? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 152: Написание половины в виде
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler152()</code> должен возвращать 301.
|
||||
testString: 'assert.strictEqual(euler152(), 301, "<code>euler152()</code> should return 301.");'
|
||||
- text: <code>euler152()</code> should return 301.
|
||||
testString: assert.strictEqual(euler152(), 301);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler152();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler152();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4051000cf542c50ff18
|
||||
challengeType: 5
|
||||
title: 'Problem 153: Investigating Gaussian Integers'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301784
|
||||
localeTitle: 'Задача 153: Исследование гауссовских целых чисел'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Как мы все знаем, уравнение x2 = -1 не имеет решений для вещественных x. <p> Однако, если ввести мнимое число i, то это уравнение имеет два решения: x = i и x = -i. </p><p> Если идти дальше, то уравнение (x-3) 2 = -4 имеет два комплексных решения: x = 3 + 2i и x = 3-2i. x = 3 + 2i и x = 3-2i называются комплексными сопряженными друг другу. </p><p> Числа вида a + bi называются комплексными числами. </p><p> В общем случае a + bi и a-bi являются комплексными сопряженными друг другу. Гауссовское целое число представляет собой комплексное число a + bi такое, что a и b являются целыми числами. </p><p> Регулярные целые числа также являются гауссовскими целыми числами (с b = 0). </p><p> Чтобы отличить их от гауссовских целых чисел с b ≠ 0, мы называем такие целые числа «рациональными целыми числами». </p><p> Гауссово целое число называется делителем рационального целого числа n, если результат также является гауссовым целым. </p><p> Если, например, мы разделим 5 на 1 + 2i, мы можем упростить следующим образом: </p><p> Умножить числитель и знаменатель на комплексное сопряжение 1 + 2i: 1-2i. </p><p> Результат. </p><p> Итак, 1 + 2i - делитель 5. </p><p> Заметим, что 1 + i не является делителем из 5, потому что. </p><p> Заметим также, что если гауссовское целое число (a + bi) является делителем рационального целого n, то его комплексно сопряженное (a-bi) также является делителем n. На самом деле 5 имеет шесть делителей, для которых действительная часть положительна: {1, 1 + 2i, 1 - 2i, 2 + i, 2 - i, 5}. </p><p> Ниже приведена таблица всех делителей для первых пяти положительных целых рациональных чисел: </p><p> n гауссовских целых делителей с положительной вещественной частью Sum s (n) этих </p><p> divisors111 21, 1 + i, 1-i, 25 31, 34 41, 1 + i, 1-i, 2, 2 + 2i, 2-2i, 413 51, 1 + 2i, 1-2i, 2 + i, 2-i, 512. Для делителей с положительными вещественными частями имеем:. Для 1 ≤ n ≤ 105, Σ s (n) = 17924657155. Что такое Σ s (n) для 1 ≤ n ≤ 108? </p></section>
|
||||
<section id='description'>
|
||||
Как мы все знаем, уравнение x2 = -1 не имеет решений для вещественных x. <p> Однако, если ввести мнимое число i, то это уравнение имеет два решения: x = i и x = -i. </p><p> Если идти дальше, то уравнение (x-3) 2 = -4 имеет два комплексных решения: x = 3 + 2i и x = 3-2i. x = 3 + 2i и x = 3-2i называются комплексными сопряженными друг другу. </p><p> Числа вида a + bi называются комплексными числами. </p><p> В общем случае a + bi и a-bi являются комплексными сопряженными друг другу. Гауссовское целое число представляет собой комплексное число a + bi такое, что a и b являются целыми числами. </p><p> Регулярные целые числа также являются гауссовскими целыми числами (с b = 0). </p><p> Чтобы отличить их от гауссовских целых чисел с b ≠ 0, мы называем такие целые числа «рациональными целыми числами». </p><p> Гауссово целое число называется делителем рационального целого числа n, если результат также является гауссовым целым. </p><p> Если, например, мы разделим 5 на 1 + 2i, мы можем упростить следующим образом: </p><p> Умножить числитель и знаменатель на комплексное сопряжение 1 + 2i: 1-2i. </p><p> Результат. </p><p> Итак, 1 + 2i - делитель 5. </p><p> Заметим, что 1 + i не является делителем из 5, потому что. </p><p> Заметим также, что если гауссовское целое число (a + bi) является делителем рационального целого n, то его комплексно сопряженное (a-bi) также является делителем n. На самом деле 5 имеет шесть делителей, для которых действительная часть положительна: {1, 1 + 2i, 1 - 2i, 2 + i, 2 - i, 5}. </p><p> Ниже приведена таблица всех делителей для первых пяти положительных целых рациональных чисел: </p><p> n гауссовских целых делителей с положительной вещественной частью Sum s (n) этих </p><p> divisors111 21, 1 + i, 1-i, 25 31, 34 41, 1 + i, 1-i, 2, 2 + 2i, 2-2i, 413 51, 1 + 2i, 1-2i, 2 + i, 2-i, 512. Для делителей с положительными вещественными частями имеем:. Для 1 ≤ n ≤ 105, Σ s (n) = 17924657155. Что такое Σ s (n) для 1 ≤ n ≤ 108? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 153: Исследование гауссовских
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler153()</code> должен вернуть 17971254122360636.
|
||||
testString: 'assert.strictEqual(euler153(), 17971254122360636, "<code>euler153()</code> should return 17971254122360636.");'
|
||||
- text: <code>euler153()</code> should return 17971254122360636.
|
||||
testString: assert.strictEqual(euler153(), 17971254122360636);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler153();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler153();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -1,16 +1,19 @@
|
||||
---
|
||||
id: 5900f4071000cf542c50ff19
|
||||
challengeType: 5
|
||||
title: 'Problem 154: Exploring Pascal"s pyramid'
|
||||
videoUrl: ''
|
||||
title: 'Problem 154: Exploring Pascal''s pyramid'
|
||||
forumTopicId: 301785
|
||||
localeTitle: 'Задача 154: Изучение пирамиды Паскаля'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Треугольная пирамида построена с использованием сферических шаров, так что каждый шар покоится ровно на три шара следующего нижнего уровня. <p> Затем мы вычисляем количество путей, ведущих от вершины к каждой позиции: путь начинается с вершины и продвигается вниз к любой из трех сфер непосредственно под текущей позицией. Следовательно, число путей для достижения определенной позиции - это сумма чисел, находящихся непосредственно над ним (в зависимости от положения, над ней должно быть не более трех чисел). Результатом является пирамида Паскаля, а числа на каждом уровне n - коэффициенты триномиального разложения (x + y + z) n. Сколько коэффициентов разложения (x + y + z) 200000 кратно 1012? </p></section>
|
||||
<section id='description'>
|
||||
Треугольная пирамида построена с использованием сферических шаров, так что каждый шар покоится ровно на три шара следующего нижнего уровня. <p> Затем мы вычисляем количество путей, ведущих от вершины к каждой позиции: путь начинается с вершины и продвигается вниз к любой из трех сфер непосредственно под текущей позицией. Следовательно, число путей для достижения определенной позиции - это сумма чисел, находящихся непосредственно над ним (в зависимости от положения, над ней должно быть не более трех чисел). Результатом является пирамида Паскаля, а числа на каждом уровне n - коэффициенты триномиального разложения (x + y + z) n. Сколько коэффициентов разложения (x + y + z) 200000 кратно 1012? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 154: Изучение пирамиды Паскаля
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler154()</code> должен вернуть 479742450.
|
||||
testString: 'assert.strictEqual(euler154(), 479742450, "<code>euler154()</code> should return 479742450.");'
|
||||
- text: <code>euler154()</code> should return 479742450.
|
||||
testString: assert.strictEqual(euler154(), 479742450);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler154();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler154();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4081000cf542c50ff1a
|
||||
challengeType: 5
|
||||
title: 'Problem 155: Counting Capacitor Circuits'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301786
|
||||
localeTitle: 'Задача 155: Цепи конденсаторных контуров'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Электрическая схема использует исключительно идентичные конденсаторы с одинаковым значением C. <p> Конденсаторы могут быть подключены последовательно или параллельно, чтобы сформировать вспомогательные устройства, которые затем могут быть подключены последовательно или параллельно с другими конденсаторами или другими подблоками для формирования больших подблоков и т. Д. До конечной цепи. Используя эту простую процедуру и до n одинаковых конденсаторов, мы можем создавать схемы с диапазоном различных суммарных емкостей. Например, используя до n = 3 конденсаторов по 60 F каждый, мы можем получить следующие 7 различных суммарных значений емкости: </p><p> Если обозначить через D (n) число различных значений общей емкости, которое можно получить при использовании до n равноценных конденсаторов и простой процедуре, описанной выше, мы имеем: D (1) = 1, D (2) = 3 , D (3) = 7 ... Найти D (18). Напоминание: при параллельном подключении конденсаторов C1, C2 и т. Д. Общая емкость составляет CT = C1 + C2 + ..., </p><p> тогда как при их соединении последовательно общая емкость определяется: </p></section>
|
||||
<section id='description'>
|
||||
Электрическая схема использует исключительно идентичные конденсаторы с одинаковым значением C. <p> Конденсаторы могут быть подключены последовательно или параллельно, чтобы сформировать вспомогательные устройства, которые затем могут быть подключены последовательно или параллельно с другими конденсаторами или другими подблоками для формирования больших подблоков и т. Д. До конечной цепи. Используя эту простую процедуру и до n одинаковых конденсаторов, мы можем создавать схемы с диапазоном различных суммарных емкостей. Например, используя до n = 3 конденсаторов по 60 F каждый, мы можем получить следующие 7 различных суммарных значений емкости: </p><p> Если обозначить через D (n) число различных значений общей емкости, которое можно получить при использовании до n равноценных конденсаторов и простой процедуре, описанной выше, мы имеем: D (1) = 1, D (2) = 3 , D (3) = 7 ... Найти D (18). Напоминание: при параллельном подключении конденсаторов C1, C2 и т. Д. Общая емкость составляет CT = C1 + C2 + ..., </p><p> тогда как при их соединении последовательно общая емкость определяется: </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 155: Цепи конденсаторных конту
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler155()</code> должен вернуть 3857447.
|
||||
testString: 'assert.strictEqual(euler155(), 3857447, "<code>euler155()</code> should return 3857447.");'
|
||||
- text: <code>euler155()</code> should return 3857447.
|
||||
testString: assert.strictEqual(euler155(), 3857447);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler155();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler155();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4091000cf542c50ff1b
|
||||
challengeType: 5
|
||||
title: 'Problem 156: Counting Digits'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301787
|
||||
localeTitle: 'Задача 156: подсчет цифр'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Начиная с нуля, натуральные числа записываются в базе 10 следующим образом: <p> 0 1 2 3 4 5 6 7 8 9 10 11 12 .... </p><p> Рассмотрим цифру d = 1. После того, как мы запишем каждое число n, мы обновим число тех, которые произошли, и назовем это число f (n, 1). Тогда первые значения для f (n, 1) следующие: </p><p> nf (n, 1) 00 11 21 31 41 51 61 71 81 91 102 114 125 </p><p> Заметим, что f (n, 1) никогда не равно 3. </p><p> Итак, первые два решения уравнения f (n, 1) = n равны n = 0 и n = 1. Следующее решение - n = 199981. Таким же образом функция f (n, d) дает общее количество цифр d, записанных после того, как было записано число n. </p><p> Действительно, для каждой цифры d ≠ 0, 0 является первым решением уравнения f (n, d) = n. Пусть s (d) - сумма всех решений, для которых f (n, d) = n. </p><p> Вам дается, что s (1) = 22786974071. Найти Σ s (d) для 1 ≤ d ≤ 9. Примечание: если для некоторого n, f (n, d) = n для более чем одного значения d это значение n подсчитывается снова для каждого значения d, для которого е (п, д) = п. </p></section>
|
||||
<section id='description'>
|
||||
Начиная с нуля, натуральные числа записываются в базе 10 следующим образом: <p> 0 1 2 3 4 5 6 7 8 9 10 11 12 .... </p><p> Рассмотрим цифру d = 1. После того, как мы запишем каждое число n, мы обновим число тех, которые произошли, и назовем это число f (n, 1). Тогда первые значения для f (n, 1) следующие: </p><p> nf (n, 1) 00 11 21 31 41 51 61 71 81 91 102 114 125 </p><p> Заметим, что f (n, 1) никогда не равно 3. </p><p> Итак, первые два решения уравнения f (n, 1) = n равны n = 0 и n = 1. Следующее решение - n = 199981. Таким же образом функция f (n, d) дает общее количество цифр d, записанных после того, как было записано число n. </p><p> Действительно, для каждой цифры d ≠ 0, 0 является первым решением уравнения f (n, d) = n. Пусть s (d) - сумма всех решений, для которых f (n, d) = n. </p><p> Вам дается, что s (1) = 22786974071. Найти Σ s (d) для 1 ≤ d ≤ 9. Примечание: если для некоторого n, f (n, d) = n для более чем одного значения d это значение n подсчитывается снова для каждого значения d, для которого е (п, д) = п. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 156: подсчет цифр'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler156()</code> должен вернуть 21295121502550.
|
||||
testString: 'assert.strictEqual(euler156(), 21295121502550, "<code>euler156()</code> should return 21295121502550.");'
|
||||
- text: <code>euler156()</code> should return 21295121502550.
|
||||
testString: assert.strictEqual(euler156(), 21295121502550);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler156();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler156();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4091000cf542c50ff1c
|
||||
challengeType: 5
|
||||
title: 'Problem 157: Solving the diophantine equation'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301788
|
||||
localeTitle: 'Задача 157: Решение диофантово уравнения'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Рассмотрим диофантово уравнение 1 / a + 1 / b = p / 10n с a, b, p, n положительными целыми числами и a ≤ b. При n = 1 это уравнение имеет 20 решений, которые перечислены ниже: 1/1 + 1/1 = 20/10 1/1 + 1/2 = 15/10 1/1 + 1/5 = 12/10 1/1 + 1/10 = 11/10 10/10 1/2 + 1 / / 10 1/3 + 1/15 = 4/10 1/4 + 1/4 = 5/10 1/4 + 1/20 = 3/10 1/5 + 1/5 = 4/10 1/5 + 1/10 = 3/10 1/6 + 1/30 = 2/10 1/10 + 1/10 = 2/10 1/11 + 1/110 = 1/10 1/12 + 1/60 = 1 / 10 1/14 + 1/35 = 1/10 1/15 + 1/30 = 1/10 1/20 + 1/20 = 1/10 Сколько решений имеет это уравнение для 1 ≤ n ≤ 9? </section>
|
||||
<section id='description'>
|
||||
Рассмотрим диофантово уравнение 1 / a + 1 / b = p / 10n с a, b, p, n положительными целыми числами и a ≤ b. При n = 1 это уравнение имеет 20 решений, которые перечислены ниже: 1/1 + 1/1 = 20/10 1/1 + 1/2 = 15/10 1/1 + 1/5 = 12/10 1/1 + 1/10 = 11/10 10/10 1/2 + 1 / / 10 1/3 + 1/15 = 4/10 1/4 + 1/4 = 5/10 1/4 + 1/20 = 3/10 1/5 + 1/5 = 4/10 1/5 + 1/10 = 3/10 1/6 + 1/30 = 2/10 1/10 + 1/10 = 2/10 1/11 + 1/110 = 1/10 1/12 + 1/60 = 1 / 10 1/14 + 1/35 = 1/10 1/15 + 1/30 = 1/10 1/20 + 1/20 = 1/10 Сколько решений имеет это уравнение для 1 ≤ n ≤ 9?
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 157: Решение диофантово уравне
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler157()</code> должен вернуть 53490.
|
||||
testString: 'assert.strictEqual(euler157(), 53490, "<code>euler157()</code> should return 53490.");'
|
||||
- text: <code>euler157()</code> should return 53490.
|
||||
testString: assert.strictEqual(euler157(), 53490);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler157();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler157();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f40a1000cf542c50ff1d
|
||||
challengeType: 5
|
||||
title: 'Problem 158: Exploring strings for which only one character comes lexicographically after its neighbour to the left'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301789
|
||||
localeTitle: 'Задача 158: Изучение строк, для которых только один символ приходит лексикографически после того, как его сосед слева'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Принимая три разных буквы из 26 букв алфавита, могут быть сформированы строки символов длиной три. Примерами являются «abc», «hat» и «zyx». Когда мы изучаем эти три примера, мы видим, что для «abc» два символа приходят лексикографически после своего соседа слева. Для «шляпы» есть ровно один символ, который лексикографически появляется после его соседа слева. Для «zyx» есть нулевые символы, которые лексикографически появляются после его соседства слева. Всего существует 10400 строк длины 3, для которых ровно один персонаж приходит лексикографически после своего соседа слева. Теперь рассмотрим строки из n ≤ 26 разных символов из алфавита. Для каждого n, p (n) - число строк длины n, для которых ровно один символ приходит лексикографически после его соседства слева. Каково максимальное значение p (n)? </section>
|
||||
<section id='description'>
|
||||
Принимая три разных буквы из 26 букв алфавита, могут быть сформированы строки символов длиной три. Примерами являются «abc», «hat» и «zyx». Когда мы изучаем эти три примера, мы видим, что для «abc» два символа приходят лексикографически после своего соседа слева. Для «шляпы» есть ровно один символ, который лексикографически появляется после его соседа слева. Для «zyx» есть нулевые символы, которые лексикографически появляются после его соседства слева. Всего существует 10400 строк длины 3, для которых ровно один персонаж приходит лексикографически после своего соседа слева. Теперь рассмотрим строки из n ≤ 26 разных символов из алфавита. Для каждого n, p (n) - число строк длины n, для которых ровно один символ приходит лексикографически после его соседства слева. Каково максимальное значение p (n)?
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 158: Изучение строк, для которы
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler158()</code> должен вернуть 409511334375.
|
||||
testString: 'assert.strictEqual(euler158(), 409511334375, "<code>euler158()</code> should return 409511334375.");'
|
||||
- text: <code>euler158()</code> should return 409511334375.
|
||||
testString: assert.strictEqual(euler158(), 409511334375);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler158();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler158();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f40c1000cf542c50ff1e
|
||||
challengeType: 5
|
||||
title: 'Problem 159: Digital root sums of factorisations'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301790
|
||||
localeTitle: 'Задача 159: Цифровые корневые суммы факторизации'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Составной номер можно разделить на множество разных способов. Например, не включая умножение на единицу, 24 можно разделить на 7 различных способов: <p> 24 = 2x2x2x3 24 = 2x3x4 24 = 2x2x6 24 = 4x6 24 = 3x8 24 = 2x12 24 = 24 </p><p> Напомним, что цифровой корень числа в базе 10 найден путем суммирования цифр этого числа и повторения этого процесса до тех пор, пока число не будет достигнуто, что меньше 10. Таким образом, цифровой корень из 467 равен 8. Мы будет называть цифровую корневую сумму (DRS) суммой цифровых корней отдельных факторов нашего числа. В приведенной ниже таблице показаны все значения DRS для 24. FactorisationDigital Root Sum2x2x2x3 92x3x4 92x2x6 104x6 103x8 112x12 524 6 Максимальный размер цифрового корня 24 равен 11. Функция mdrs (n) дает максимальную цифровую корневую сумму n. Итак, mdrs (24) = 11. Найти Σmdrs (n) при 1 <n <1,000,000. </p></section>
|
||||
<section id='description'>
|
||||
Составной номер можно разделить на множество разных способов. Например, не включая умножение на единицу, 24 можно разделить на 7 различных способов: <p> 24 = 2x2x2x3 24 = 2x3x4 24 = 2x2x6 24 = 4x6 24 = 3x8 24 = 2x12 24 = 24 </p><p> Напомним, что цифровой корень числа в базе 10 найден путем суммирования цифр этого числа и повторения этого процесса до тех пор, пока число не будет достигнуто, что меньше 10. Таким образом, цифровой корень из 467 равен 8. Мы будет называть цифровую корневую сумму (DRS) суммой цифровых корней отдельных факторов нашего числа. В приведенной ниже таблице показаны все значения DRS для 24. FactorisationDigital Root Sum2x2x2x3 92x3x4 92x2x6 104x6 103x8 112x12 524 6 Максимальный размер цифрового корня 24 равен 11. Функция mdrs (n) дает максимальную цифровую корневую сумму n. Итак, mdrs (24) = 11. Найти Σmdrs (n) при 1 <n <1,000,000. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 159: Цифровые корневые суммы ф
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler159()</code> должен вернуть 14489159.
|
||||
testString: 'assert.strictEqual(euler159(), 14489159, "<code>euler159()</code> should return 14489159.");'
|
||||
- text: <code>euler159()</code> should return 14489159.
|
||||
testString: assert.strictEqual(euler159(), 14489159);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler159();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler159();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f37d1000cf542c50fe8f
|
||||
challengeType: 5
|
||||
title: 'Problem 16: Power digit sum'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301791
|
||||
localeTitle: 'Задача 16: сумма цифр питания'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> 2 <sup>15</sup> = 32768 , а сумма его цифр равна 3 + 2 + 7 + 6 + 8 = 26. Какова сумма цифр числа 2 <sup><code>exponent</code></sup> ? </section>
|
||||
<section id='description'>
|
||||
2 <sup>15</sup> = 32768 , а сумма его цифр равна 3 + 2 + 7 + 6 + 8 = 26. Какова сумма цифр числа 2 <sup><code>exponent</code></sup> ?
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,12 +21,12 @@ localeTitle: 'Задача 16: сумма цифр питания'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>powerDigitSum(15)</code> должен вернуть 26.
|
||||
testString: 'assert.strictEqual(powerDigitSum(15), 26, "<code>powerDigitSum(15)</code> should return 26.");'
|
||||
- text: <code>powerDigitSum(128)</code> должен вернуть 166.
|
||||
testString: 'assert.strictEqual(powerDigitSum(128), 166, "<code>powerDigitSum(128)</code> should return 166.");'
|
||||
- text: <code>powerDigitSum(1000)</code> должен вернуть 1366.
|
||||
testString: 'assert.strictEqual(powerDigitSum(1000), 1366, "<code>powerDigitSum(1000)</code> should return 1366.");'
|
||||
- text: <code>powerDigitSum(15)</code> should return 26.
|
||||
testString: assert.strictEqual(powerDigitSum(15), 26);
|
||||
- text: <code>powerDigitSum(128)</code> should return 166.
|
||||
testString: assert.strictEqual(powerDigitSum(128), 166);
|
||||
- text: <code>powerDigitSum(1000)</code> should return 1366.
|
||||
testString: assert.strictEqual(powerDigitSum(1000), 1366);
|
||||
|
||||
```
|
||||
|
||||
@@ -46,14 +49,40 @@ powerDigitSum(15);
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
<section id='solution'>
|
||||
|
||||
```js
|
||||
// solution required
|
||||
function powerDigitSum(exponent) {
|
||||
const bigNum = [1];
|
||||
let sum = 0;
|
||||
|
||||
for (let i = 1; i <= exponent; i++) {
|
||||
let count = bigNum.length + 1;
|
||||
let overflow = 0;
|
||||
for (let j = 0; j < count; j++) {
|
||||
let digit = bigNum[j] || 0;
|
||||
digit = 2 * digit + overflow;
|
||||
|
||||
if (digit > 9) {
|
||||
digit -= 10;
|
||||
overflow = 1;
|
||||
} else {
|
||||
overflow = 0;
|
||||
}
|
||||
|
||||
bigNum[j] = digit;
|
||||
}
|
||||
}
|
||||
|
||||
bigNum.forEach(function(num) {
|
||||
return sum += num;
|
||||
});
|
||||
|
||||
return sum;
|
||||
}
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f40d1000cf542c50ff1f
|
||||
challengeType: 5
|
||||
title: 'Problem 160: Factorial trailing digits'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301794
|
||||
localeTitle: 'Задача 160: Факториальные конечные цифры'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Для любого N пусть f (N) - последние пять цифр перед конечными нулями в N !. Например, 9! = 362880, так что f (9) = 36288 10! = 3628800, так что f (10) = 36288 20! = 2432902008176640000, так f (20) = 17664 Найти f (1,000,000,000,000) </section>
|
||||
<section id='description'>
|
||||
Для любого N пусть f (N) - последние пять цифр перед конечными нулями в N !. Например, 9! = 362880, так что f (9) = 36288 10! = 3628800, так что f (10) = 36288 20! = 2432902008176640000, так f (20) = 17664 Найти f (1,000,000,000,000)
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 160: Факториальные конечные ци
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler160()</code> должен вернуть 16576.
|
||||
testString: 'assert.strictEqual(euler160(), 16576, "<code>euler160()</code> should return 16576.");'
|
||||
- text: <code>euler160()</code> should return 16576.
|
||||
testString: assert.strictEqual(euler160(), 16576);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler160();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler160();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f40d1000cf542c50ff20
|
||||
challengeType: 5
|
||||
title: 'Problem 161: Triominoes'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301795
|
||||
localeTitle: 'Проблема 161: Триомино'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Триомино представляет собой форму, состоящую из трех квадратов, соединенных по краям. Существуют две основные формы: <p> Если учитывать все возможные ориентации, то есть шесть: </p><p> Любая сетка n на m, для которой nxm делится на 3, может быть разбита триомино. Если мы рассмотрим разметки, которые могут быть получены путем отражения или вращения из другого черепицы как разные, существует 41 способ, по которому решетка с 2 по 9 может быть разбита триоминоями: </p><p> Каким образом можно распределить сетку размером 9 на 12 путем триоминоз? </p></section>
|
||||
<section id='description'>
|
||||
Триомино представляет собой форму, состоящую из трех квадратов, соединенных по краям. Существуют две основные формы: <p> Если учитывать все возможные ориентации, то есть шесть: </p><p> Любая сетка n на m, для которой nxm делится на 3, может быть разбита триомино. Если мы рассмотрим разметки, которые могут быть получены путем отражения или вращения из другого черепицы как разные, существует 41 способ, по которому решетка с 2 по 9 может быть разбита триоминоями: </p><p> Каким образом можно распределить сетку размером 9 на 12 путем триоминоз? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Проблема 161: Триомино'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler161()</code> должен вернуть 20574308184277972.
|
||||
testString: 'assert.strictEqual(euler161(), 20574308184277972, "<code>euler161()</code> should return 20574308184277972.");'
|
||||
- text: <code>euler161()</code> should return 20574308184277972.
|
||||
testString: assert.strictEqual(euler161(), 20574308184277972);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler161();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler161();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f40e1000cf542c50ff21
|
||||
challengeType: 5
|
||||
title: 'Problem 162: Hexadecimal numbers'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301796
|
||||
localeTitle: 'Задача 162: шестнадцатеричные числа'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> В шестнадцатеричной системе чисел номера представлены с использованием 16 различных цифр: 0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F Шестнадцатеричное число AF при записи в десятичной системе равна 10x16 + 15 = 175. В трехзначных шестнадцатеричных числах 10А, 1А0, А10 и А01 присутствуют цифры 0,1 и А. Как и числа, написанные в базе 10, мы записываем шестнадцатеричные числа без ведущих нулей. Сколько шестнадцатеричных чисел, содержащих не более шестнадцати шестнадцатеричных цифр, существует со всеми цифрами 0,1, а A присутствует хотя бы один раз? Дайте свой ответ в виде шестнадцатеричного числа. (A, B, C, D, E и F в верхнем регистре без какого-либо ведущего или конечного кода, который отмечает число как шестнадцатеричное и без начальных нулей, например 1A3F, а не: 1a3f, а не 0x1a3f, а не $ 1A3F, а не # 1A3F а не 0000001A3F) </section>
|
||||
<section id='description'>
|
||||
В шестнадцатеричной системе чисел номера представлены с использованием 16 различных цифр: 0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F Шестнадцатеричное число AF при записи в десятичной системе равна 10x16 + 15 = 175. В трехзначных шестнадцатеричных числах 10А, 1А0, А10 и А01 присутствуют цифры 0,1 и А. Как и числа, написанные в базе 10, мы записываем шестнадцатеричные числа без ведущих нулей. Сколько шестнадцатеричных чисел, содержащих не более шестнадцати шестнадцатеричных цифр, существует со всеми цифрами 0,1, а A присутствует хотя бы один раз? Дайте свой ответ в виде шестнадцатеричного числа. (A, B, C, D, E и F в верхнем регистре без какого-либо ведущего или конечного кода, который отмечает число как шестнадцатеричное и без начальных нулей, например 1A3F, а не: 1a3f, а не 0x1a3f, а не $ 1A3F, а не # 1A3F а не 0000001A3F)
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 162: шестнадцатеричные числа'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler162()</code> должен возвращать 3D58725572C62302.
|
||||
testString: 'assert.strictEqual(euler162(), 3D58725572C62302, "<code>euler162()</code> should return 3D58725572C62302.");'
|
||||
- text: <code>euler162()</code> should return 3D58725572C62302.
|
||||
testString: assert.strictEqual(euler162(), '3D58725572C62302');
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler162();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler162();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f40f1000cf542c50ff22
|
||||
challengeType: 5
|
||||
title: 'Problem 163: Cross-hatched triangles'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301797
|
||||
localeTitle: 'Задача 163: треугольные треугольники'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Рассмотрим равносторонний треугольник, в котором прямые линии оттянуты от каждой вершины до середины противоположной стороны, например, в треугольнике размера 1 в приведенном ниже эскизе. <p> В этом треугольнике теперь можно увидеть шестнадцать треугольников любой другой формы или размера, ориентации или местоположения. Используя треугольники размера 1 в качестве строительных блоков, могут быть сформированы большие треугольники, такие как треугольник размера 2 в приведенном выше эскизе. В этом треугольнике размером 2 теперь можно увидеть сто четыре и четыре треугольника любой другой формы или размера, ориентации или местоположения. Можно заметить, что треугольник размера 2 содержит 4 квадрата треугольника размера 1. Треугольник размера 3 будет содержать 9 квадратных блоков треугольника размера 1, и треугольник размера n будет таким образом содержать n2-размерные треугольные строительные блоки. Если обозначить T (n) как число треугольников, присутствующих в треугольнике размера n, то T (1) = 16 T (2) = 104 Найти T (36). </p></section>
|
||||
<section id='description'>
|
||||
Рассмотрим равносторонний треугольник, в котором прямые линии оттянуты от каждой вершины до середины противоположной стороны, например, в треугольнике размера 1 в приведенном ниже эскизе. <p> В этом треугольнике теперь можно увидеть шестнадцать треугольников любой другой формы или размера, ориентации или местоположения. Используя треугольники размера 1 в качестве строительных блоков, могут быть сформированы большие треугольники, такие как треугольник размера 2 в приведенном выше эскизе. В этом треугольнике размером 2 теперь можно увидеть сто четыре и четыре треугольника любой другой формы или размера, ориентации или местоположения. Можно заметить, что треугольник размера 2 содержит 4 квадрата треугольника размера 1. Треугольник размера 3 будет содержать 9 квадратных блоков треугольника размера 1, и треугольник размера n будет таким образом содержать n2-размерные треугольные строительные блоки. Если обозначить T (n) как число треугольников, присутствующих в треугольнике размера n, то T (1) = 16 T (2) = 104 Найти T (36). </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 163: треугольные треугольники'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler163()</code> должен возвращать 343047.
|
||||
testString: 'assert.strictEqual(euler163(), 343047, "<code>euler163()</code> should return 343047.");'
|
||||
- text: <code>euler163()</code> should return 343047.
|
||||
testString: assert.strictEqual(euler163(), 343047);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler163();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler163();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4111000cf542c50ff23
|
||||
challengeType: 5
|
||||
title: 'Problem 164: Numbers for which no three consecutive digits have a sum greater than a given value'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301798
|
||||
localeTitle: 'Задача 164: Числа, для которых нет трех последовательных цифр, сумма которых превышает заданное значение'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Сколько 20-значных чисел n (без какого-либо начального нуля) существует так, что никакие три последовательные цифры n не имеют сумму больше 9? </section>
|
||||
<section id='description'>
|
||||
Сколько 20-значных чисел n (без какого-либо начального нуля) существует так, что никакие три последовательные цифры n не имеют сумму больше 9?
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 164: Числа, для которых нет тре
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler164()</code> должен вернуть 378158756814587.
|
||||
testString: 'assert.strictEqual(euler164(), 378158756814587, "<code>euler164()</code> should return 378158756814587.");'
|
||||
- text: <code>euler164()</code> should return 378158756814587.
|
||||
testString: assert.strictEqual(euler164(), 378158756814587);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler164();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler164();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4111000cf542c50ff24
|
||||
challengeType: 5
|
||||
title: 'Problem 165: Intersections'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301799
|
||||
localeTitle: 'Задача 165: Пересечения'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Сегмент однозначно определяется двумя его конечными точками. Рассматривая два отрезка в плоской геометрии, существует три возможности: сегменты имеют нулевые точки, одну точку или бесконечно много общих точек. Более того, когда два сегмента имеют ровно одну общую точку, может быть, что эта общая точка является конечной точкой либо одного из сегментов, либо обоих. Если общая точка двух сегментов не является конечной точкой любого из сегментов, она является внутренней точкой обоих сегментов. Будем называть общую точку T двух сегментов L1 и L2 истинной точкой пересечения L1 и L2, если T - единственная общая точка L1 и L2, а T - внутренняя точка обоих сегментов. <p> Рассмотрим три сегмента L1, L2 и L3: L1: (27, 44) - (12, 32) L2: (46, 53) - (17, 62) L3: (46, 70) - (22, 40) Можно проверить, что сегменты линии L2 и L3 имеют истинную точку пересечения. Заметим, что, поскольку одна из конечных точек L3: (22,40) лежит на L1, это не считается истинной точкой пересечения. L1 и L2 не имеют общей точки. Таким образом, среди трех сегментов линии мы находим одну истинную точку пересечения. Теперь сделаем то же самое для 5000 сегментов линии. С этой целью мы генерируем 20000 номеров, используя так называемый генератор псевдослучайных чисел Blum Blum Shub. s0 = 290797 sn + 1 = sn × sn (по модулю 50515093) tn = sn (по модулю 500). Чтобы создать каждый сегмент линии, мы используем четыре последовательных числа tn. То есть первый сегмент линии задается следующим образом: (t1, t2) - (t3, t4) Первые четыре числа, вычисленные в соответствии с указанным выше генератором, должны быть: 27, 144, 12 и 232. Таким образом, первый сегмент будет ( 27, 144) - (12 232). Сколько четких точек пересечения найдено среди 5000 сегментов линии? </p></section>
|
||||
<section id='description'>
|
||||
Сегмент однозначно определяется двумя его конечными точками. Рассматривая два отрезка в плоской геометрии, существует три возможности: сегменты имеют нулевые точки, одну точку или бесконечно много общих точек. Более того, когда два сегмента имеют ровно одну общую точку, может быть, что эта общая точка является конечной точкой либо одного из сегментов, либо обоих. Если общая точка двух сегментов не является конечной точкой любого из сегментов, она является внутренней точкой обоих сегментов. Будем называть общую точку T двух сегментов L1 и L2 истинной точкой пересечения L1 и L2, если T - единственная общая точка L1 и L2, а T - внутренняя точка обоих сегментов. <p> Рассмотрим три сегмента L1, L2 и L3: L1: (27, 44) - (12, 32) L2: (46, 53) - (17, 62) L3: (46, 70) - (22, 40) Можно проверить, что сегменты линии L2 и L3 имеют истинную точку пересечения. Заметим, что, поскольку одна из конечных точек L3: (22,40) лежит на L1, это не считается истинной точкой пересечения. L1 и L2 не имеют общей точки. Таким образом, среди трех сегментов линии мы находим одну истинную точку пересечения. Теперь сделаем то же самое для 5000 сегментов линии. С этой целью мы генерируем 20000 номеров, используя так называемый генератор псевдослучайных чисел Blum Blum Shub. s0 = 290797 sn + 1 = sn × sn (по модулю 50515093) tn = sn (по модулю 500). Чтобы создать каждый сегмент линии, мы используем четыре последовательных числа tn. То есть первый сегмент линии задается следующим образом: (t1, t2) - (t3, t4) Первые четыре числа, вычисленные в соответствии с указанным выше генератором, должны быть: 27, 144, 12 и 232. Таким образом, первый сегмент будет ( 27, 144) - (12 232). Сколько четких точек пересечения найдено среди 5000 сегментов линии? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 165: Пересечения'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler165()</code> должен возвращать 2868868.
|
||||
testString: 'assert.strictEqual(euler165(), 2868868, "<code>euler165()</code> should return 2868868.");'
|
||||
- text: <code>euler165()</code> should return 2868868.
|
||||
testString: assert.strictEqual(euler165(), 2868868);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler165();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler165();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4131000cf542c50ff25
|
||||
challengeType: 5
|
||||
title: 'Problem 166: Criss Cross'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301800
|
||||
localeTitle: 'Задача 166: Criss Cross'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Сетка 4x4 заполняется цифрами d, 0 ≤ d ≤ 9. <p> Можно видеть, что в сетке </p><p> 6 3 3 0 5 0 4 3 0 7 1 4 1 2 4 5 </p><p> сумма каждой строки и каждого столбца имеет значение 12. Кроме того, сумма каждой диагонали также равна 12. </p><p> Сколько способов вы можете заполнить сетку 4x4 цифрами d, 0 ≤ d ≤ 9, чтобы каждая строка, каждый столбец и обе диагонали имели одинаковую сумму? </p></section>
|
||||
<section id='description'>
|
||||
Сетка 4x4 заполняется цифрами d, 0 ≤ d ≤ 9. <p> Можно видеть, что в сетке </p><p> 6 3 3 0 5 0 4 3 0 7 1 4 1 2 4 5 </p><p> сумма каждой строки и каждого столбца имеет значение 12. Кроме того, сумма каждой диагонали также равна 12. </p><p> Сколько способов вы можете заполнить сетку 4x4 цифрами d, 0 ≤ d ≤ 9, чтобы каждая строка, каждый столбец и обе диагонали имели одинаковую сумму? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 166: Criss Cross'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler166()</code> должен вернуть 7130034.
|
||||
testString: 'assert.strictEqual(euler166(), 7130034, "<code>euler166()</code> should return 7130034.");'
|
||||
- text: <code>euler166()</code> should return 7130034.
|
||||
testString: assert.strictEqual(euler166(), 7130034);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler166();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler166();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4141000cf542c50ff26
|
||||
challengeType: 5
|
||||
title: 'Problem 167: Investigating Ulam sequences'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301801
|
||||
localeTitle: 'Задача 167: Исследование последовательностей Улама'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Для двух положительных целых чисел a и b последовательность Улама U (a, b) определяется U (a, b) 1 = a, U (a, b) 2 = b и для k> 2, U (a, b ) k - наименьшее целое число, большее U (a, b) (k-1), которое может быть записано ровно в одном виде как сумма двух разных предыдущих членов U (a, b). Например, последовательность U (1,2) начинается с 1, 2, 3 = 1 + 2, 4 = 1 + 3, 6 = 2 + 4, 8 = 2 + 6, 11 = 3 + 8; 5 не принадлежит ему, поскольку 5 = 1 + 4 = 2 + 3 имеет два представления в виде суммы двух предыдущих членов, равно 7 = 1 + 6 = 3 + 4. Найти ΣU (2,2n + 1) k для 2 ≤ n ≤ 10, где k = 1011. </section>
|
||||
<section id='description'>
|
||||
Для двух положительных целых чисел a и b последовательность Улама U (a, b) определяется U (a, b) 1 = a, U (a, b) 2 = b и для k> 2, U (a, b ) k - наименьшее целое число, большее U (a, b) (k-1), которое может быть записано ровно в одном виде как сумма двух разных предыдущих членов U (a, b). Например, последовательность U (1,2) начинается с 1, 2, 3 = 1 + 2, 4 = 1 + 3, 6 = 2 + 4, 8 = 2 + 6, 11 = 3 + 8; 5 не принадлежит ему, поскольку 5 = 1 + 4 = 2 + 3 имеет два представления в виде суммы двух предыдущих членов, равно 7 = 1 + 6 = 3 + 4. Найти ΣU (2,2n + 1) k для 2 ≤ n ≤ 10, где k = 1011.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 167: Исследование последовате
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler167()</code> должен вернуть 3916160068885.
|
||||
testString: 'assert.strictEqual(euler167(), 3916160068885, "<code>euler167()</code> should return 3916160068885.");'
|
||||
- text: <code>euler167()</code> should return 3916160068885.
|
||||
testString: assert.strictEqual(euler167(), 3916160068885);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler167();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler167();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4151000cf542c50ff27
|
||||
challengeType: 5
|
||||
title: 'Problem 168: Number Rotations'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301802
|
||||
localeTitle: 'Проблема 168: Число оборотов'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Рассмотрим число 142857. Мы можем повернуть это число с помощью правого поворота, переместив последнюю цифру (7) в начало, давая нам 714285. Можно проверить, что 714285 = 5 × 142857. Это демонстрирует необычное свойство 142857: оно является делителем его правого вращения. Найдите последние 5 цифр суммы всех целых чисел n, 10 <n <10100, которые имеют это свойство. </section>
|
||||
<section id='description'>
|
||||
Рассмотрим число 142857. Мы можем повернуть это число с помощью правого поворота, переместив последнюю цифру (7) в начало, давая нам 714285. Можно проверить, что 714285 = 5 × 142857. Это демонстрирует необычное свойство 142857: оно является делителем его правого вращения. Найдите последние 5 цифр суммы всех целых чисел n, 10 <n <10100, которые имеют это свойство.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Проблема 168: Число оборотов'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler168()</code> должен возвращать 59206.
|
||||
testString: 'assert.strictEqual(euler168(), 59206, "<code>euler168()</code> should return 59206.");'
|
||||
- text: <code>euler168()</code> should return 59206.
|
||||
testString: assert.strictEqual(euler168(), 59206);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler168();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler168();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4151000cf542c50ff28
|
||||
challengeType: 5
|
||||
title: 'Problem 169: Exploring the number of different ways a number can be expressed as a sum of powers of 2'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301803
|
||||
localeTitle: 'Проблема 169: Изучая количество различных способов, число может быть выражено как сумма степеней 2'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Определить f (0) = 1 и f (n) как число различных способов n можно выразить как сумму целых степеней 2, используя каждую мощность не более двух раз. Например, f (10) = 5, поскольку существует пять различных способов выражения 10: 1 + 1 + 8 1 + 1 + 4 + 41 + 1 + 2 + 2 + 4 2 + 4 + 4 2 + 8 Что такое f (1025)? </section>
|
||||
<section id='description'>
|
||||
Определить f (0) = 1 и f (n) как число различных способов n можно выразить как сумму целых степеней 2, используя каждую мощность не более двух раз. Например, f (10) = 5, поскольку существует пять различных способов выражения 10: 1 + 1 + 8 1 + 1 + 4 + 41 + 1 + 2 + 2 + 4 2 + 4 + 4 2 + 8 Что такое f (1025)?
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Проблема 169: Изучая количество разли
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler169()</code> должен вернуть 178653872807.
|
||||
testString: 'assert.strictEqual(euler169(), 178653872807, "<code>euler169()</code> should return 178653872807.");'
|
||||
- text: <code>euler169()</code> should return 178653872807.
|
||||
testString: assert.strictEqual(euler169(), 178653872807);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler169();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler169();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f37d1000cf542c50fe90
|
||||
challengeType: 5
|
||||
title: 'Problem 17: Number letter counts'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301804
|
||||
localeTitle: 'Проблема 17: Количество букв'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Если числа от 1 до 5 записаны словами: один, два, три, четыре, пять, то есть 3 + 3 + 5 + 4 + 4 = 19 букв, используемых в общей сложности. Если все числа от 1 до заданного <code>limit</code> включительно были записаны на словах, сколько букв будет использовано? <b>ПРИМЕЧАНИЕ.</b> Не считайте пробелы или дефисы. Например, 342 (триста сорок два) содержит 23 буквы и 115 (сто пятнадцать) содержит 20 букв. Использование «и» при написании номеров соответствует британскому использованию. </section>
|
||||
<section id='description'>
|
||||
Если числа от 1 до 5 записаны словами: один, два, три, четыре, пять, то есть 3 + 3 + 5 + 4 + 4 = 19 букв, используемых в общей сложности. Если все числа от 1 до заданного <code>limit</code> включительно были записаны на словах, сколько букв будет использовано? <b>ПРИМЕЧАНИЕ.</b> Не считайте пробелы или дефисы. Например, 342 (триста сорок два) содержит 23 буквы и 115 (сто пятнадцать) содержит 20 букв. Использование «и» при написании номеров соответствует британскому использованию.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,12 +21,12 @@ localeTitle: 'Проблема 17: Количество букв'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>numberLetterCounts(5)</code> должен вернуть 19.
|
||||
testString: 'assert.strictEqual(numberLetterCounts(5), 19, "<code>numberLetterCounts(5)</code> should return 19.");'
|
||||
- text: <code>numberLetterCounts(150)</code> должен вернуть 1903.
|
||||
testString: 'assert.strictEqual(numberLetterCounts(150), 1903, "<code>numberLetterCounts(150)</code> should return 1903.");'
|
||||
- text: <code>numberLetterCounts(1000)</code> должен вернуть 21124.
|
||||
testString: 'assert.strictEqual(numberLetterCounts(1000), 21124, "<code>numberLetterCounts(1000)</code> should return 21124.");'
|
||||
- text: <code>numberLetterCounts(5)</code> should return 19.
|
||||
testString: assert.strictEqual(numberLetterCounts(5), 19);
|
||||
- text: <code>numberLetterCounts(150)</code> should return 1903.
|
||||
testString: assert.strictEqual(numberLetterCounts(150), 1903);
|
||||
- text: <code>numberLetterCounts(1000)</code> should return 21124.
|
||||
testString: assert.strictEqual(numberLetterCounts(1000), 21124);
|
||||
|
||||
```
|
||||
|
||||
@@ -46,14 +49,84 @@ numberLetterCounts(5);
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
<section id='solution'>
|
||||
|
||||
```js
|
||||
// solution required
|
||||
function numberLetterCounts(limit) {
|
||||
const dictionary = {
|
||||
0: '',
|
||||
1: 'one',
|
||||
2: 'two',
|
||||
3: 'three',
|
||||
4: 'four',
|
||||
5: 'five',
|
||||
6: 'six',
|
||||
7: 'seven',
|
||||
8: 'eight',
|
||||
9: 'nine',
|
||||
10: 'ten',
|
||||
11: 'eleven',
|
||||
12: 'twelve',
|
||||
13: 'thirteen',
|
||||
14: 'fourteen',
|
||||
15: 'fifteen',
|
||||
16: 'sixteen',
|
||||
17: 'seventeen',
|
||||
18: 'eighteen',
|
||||
19: 'nineteen',
|
||||
20: 'twenty',
|
||||
30: 'thirty',
|
||||
40: 'forty',
|
||||
50: 'fifty',
|
||||
60: 'sixty',
|
||||
70: 'seventy',
|
||||
80: 'eighty',
|
||||
90: 'ninety',
|
||||
1000: 'onethousand'
|
||||
};
|
||||
|
||||
let numString = '';
|
||||
|
||||
function convertToString(num) {
|
||||
// check dictionary for number
|
||||
if (dictionary[num]) {
|
||||
return dictionary[num];
|
||||
} else {
|
||||
const hundreds = Math.floor(num / 100);
|
||||
const tens = Math.floor((num / 10) % 10) * 10;
|
||||
const remainder = num % 10;
|
||||
|
||||
let tempStr = '';
|
||||
|
||||
if (hundreds === 0) {
|
||||
tempStr += dictionary[tens] + dictionary[remainder];
|
||||
} else {
|
||||
tempStr += dictionary[hundreds] + 'hundred';
|
||||
|
||||
if (tens !== 0 || remainder !== 0) {
|
||||
tempStr += 'and';
|
||||
}
|
||||
|
||||
if (tens < 20) {
|
||||
const lessThanTwenty = tens + remainder;
|
||||
tempStr += dictionary[lessThanTwenty];
|
||||
} else {
|
||||
tempStr += dictionary[tens] + dictionary[remainder];
|
||||
}
|
||||
}
|
||||
// console.log(num, hundreds, tens, remainder);
|
||||
return tempStr;
|
||||
}
|
||||
}
|
||||
|
||||
for (let i = 1; i <= limit; i++) {
|
||||
numString += convertToString(i);
|
||||
}
|
||||
return numString.length;
|
||||
}
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4161000cf542c50ff29
|
||||
challengeType: 5
|
||||
title: 'Problem 170: Find the largest 0 to 9 pandigital that can be formed by concatenating products'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301805
|
||||
localeTitle: 'Задача 170: найдите самый большой от 0 до 9 pandigital, который может быть образован путем конкатенирования продуктов'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Возьмите число 6 и умножьте его на каждый из 1273 и 9854: <p> 6 × 1273 = 7638 6 × 9854 = 59124 </p><p> Соединяя эти продукты, мы получаем от 1 до 9 pandigital 763859124. Мы будем называть 763859124 «конкатенированным продуктом 6 и (1273,9854)». Также обратите внимание, что конкатенация входных чисел, 612739854, также составляет от 1 до 9 pandigital. </p><p> То же самое можно сделать для от 0 до 9 цифровых чисел. </p><p> Каков самый большой от 0 до 9 pandigital 10-значный конкатенированный продукт целого числа с двумя или более другими целыми числами, так что конкатенация входных чисел также является цифровым десятизначным числом от 0 до 9? </p></section>
|
||||
<section id='description'>
|
||||
Возьмите число 6 и умножьте его на каждый из 1273 и 9854: <p> 6 × 1273 = 7638 6 × 9854 = 59124 </p><p> Соединяя эти продукты, мы получаем от 1 до 9 pandigital 763859124. Мы будем называть 763859124 «конкатенированным продуктом 6 и (1273,9854)». Также обратите внимание, что конкатенация входных чисел, 612739854, также составляет от 1 до 9 pandigital. </p><p> То же самое можно сделать для от 0 до 9 цифровых чисел. </p><p> Каков самый большой от 0 до 9 pandigital 10-значный конкатенированный продукт целого числа с двумя или более другими целыми числами, так что конкатенация входных чисел также является цифровым десятизначным числом от 0 до 9? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 170: найдите самый большой от 0
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler170()</code> должен возвращать 9857164023.
|
||||
testString: 'assert.strictEqual(euler170(), 9857164023, "<code>euler170()</code> should return 9857164023.");'
|
||||
- text: <code>euler170()</code> should return 9857164023.
|
||||
testString: assert.strictEqual(euler170(), 9857164023);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler170();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler170();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4181000cf542c50ff2a
|
||||
challengeType: 5
|
||||
title: 'Problem 171: Finding numbers for which the sum of the squares of the digits is a square'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301806
|
||||
localeTitle: 'Задача 171: Поиск чисел, для которых сумма квадратов цифр является квадратом'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Для положительного целого числа n пусть f (n) - сумма квадратов цифр (в базе 10) n, например f (3) = 32 = 9, f (25) = 22 + 52 = 4 + 25 = 29, f (442) = 42 + 42 + 22 = 16 + 16 + 4 = 36 Найдите последние девять цифр суммы всех n, 0 <n <1020, так что f (n) - идеальный квадрат. </section>
|
||||
<section id='description'>
|
||||
Для положительного целого числа n пусть f (n) - сумма квадратов цифр (в базе 10) n, например f (3) = 32 = 9, f (25) = 22 + 52 = 4 + 25 = 29, f (442) = 42 + 42 + 22 = 16 + 16 + 4 = 36 Найдите последние девять цифр суммы всех n, 0 <n <1020, так что f (n) - идеальный квадрат.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 171: Поиск чисел, для которых с
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler171()</code> должен вернуться 142989277.
|
||||
testString: 'assert.strictEqual(euler171(), 142989277, "<code>euler171()</code> should return 142989277.");'
|
||||
- text: <code>euler171()</code> should return 142989277.
|
||||
testString: assert.strictEqual(euler171(), 142989277);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler171();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler171();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4181000cf542c50ff2b
|
||||
challengeType: 5
|
||||
title: 'Problem 172: Investigating numbers with few repeated digits'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301807
|
||||
localeTitle: 'Задача 172: Исследование чисел с несколькими повторными цифрами'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Сколько 18-значных чисел n (без начальных нулей) есть такие, что никакая цифра не встречается более трех раз в n? </section>
|
||||
<section id='description'>
|
||||
Сколько 18-значных чисел n (без начальных нулей) есть такие, что никакая цифра не встречается более трех раз в n?
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 172: Исследование чисел с неск
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler172()</code> должен вернуть 227485267000992000.
|
||||
testString: 'assert.strictEqual(euler172(), 227485267000992000, "<code>euler172()</code> should return 227485267000992000.");'
|
||||
- text: <code>euler172()</code> should return 227485267000992000.
|
||||
testString: assert.strictEqual(euler172(), 227485267000992000);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler172();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler172();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f41a1000cf542c50ff2c
|
||||
challengeType: 5
|
||||
title: 'Problem 173: Using up to one million tiles how many different "hollow" square laminae can be formed?'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301808
|
||||
localeTitle: 'Задача 173: Используя до миллиона плиток, сколько может образоваться множество «полых» квадратных пластин?'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Мы будем определять квадратную пластинку как квадратный контур с квадратным «отверстием», чтобы форма обладала вертикальной и горизонтальной симметрией. Например, используя ровно тридцать два квадратных плитки, мы можем сформировать две разные квадратные слои: <p> С сотней плиток, и не обязательно используя все плитки за один раз, можно сформировать сорок одну другую квадратную пластину. Используя до миллиона плиток, сколько разных квадратных пластинок может быть сформировано? </p></section>
|
||||
<section id='description'>
|
||||
Мы будем определять квадратную пластинку как квадратный контур с квадратным «отверстием», чтобы форма обладала вертикальной и горизонтальной симметрией. Например, используя ровно тридцать два квадратных плитки, мы можем сформировать две разные квадратные слои: <p> С сотней плиток, и не обязательно используя все плитки за один раз, можно сформировать сорок одну другую квадратную пластину. Используя до миллиона плиток, сколько разных квадратных пластинок может быть сформировано? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 173: Используя до миллиона пли
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler173()</code> должен вернуть 1572729.
|
||||
testString: 'assert.strictEqual(euler173(), 1572729, "<code>euler173()</code> should return 1572729.");'
|
||||
- text: <code>euler173()</code> should return 1572729.
|
||||
testString: assert.strictEqual(euler173(), 1572729);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler173();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler173();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f41a1000cf542c50ff2d
|
||||
challengeType: 5
|
||||
title: 'Problem 174: Counting the number of "hollow" square laminae that can form one, two, three, ... distinct arrangements'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301809
|
||||
localeTitle: 'Задача 174: подсчет количества «полой» квадратной пластинки, которая может образовывать один, два, три, ... отдельных устройства'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Мы будем определять квадратную пластинку как квадратный контур с квадратным «отверстием», чтобы форма обладала вертикальной и горизонтальной симметрией. Учитывая восемь плиток, можно сформировать пластинку только одним способом: квадрат 3x3 с отверстием 1x1 посередине. Однако, используя тридцать две плитки, можно сформировать две отличные пластинки. <p> Если t представляет количество используемых плиток, мы будем говорить, что t = 8 - тип L (1), а t = 32 - тип L (2). Пусть N (n) - число t ≤ 1000000, так что t - тип L (n); например, N (15) = 832. Что такое Σ N (n) для 1 ≤ n ≤ 10? </p></section>
|
||||
<section id='description'>
|
||||
Мы будем определять квадратную пластинку как квадратный контур с квадратным «отверстием», чтобы форма обладала вертикальной и горизонтальной симметрией. Учитывая восемь плиток, можно сформировать пластинку только одним способом: квадрат 3x3 с отверстием 1x1 посередине. Однако, используя тридцать две плитки, можно сформировать две отличные пластинки. <p> Если t представляет количество используемых плиток, мы будем говорить, что t = 8 - тип L (1), а t = 32 - тип L (2). Пусть N (n) - число t ≤ 1000000, так что t - тип L (n); например, N (15) = 832. Что такое Σ N (n) для 1 ≤ n ≤ 10? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 174: подсчет количества «полой
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler174()</code> должен вернуть 209566.
|
||||
testString: 'assert.strictEqual(euler174(), 209566, "<code>euler174()</code> should return 209566.");'
|
||||
- text: <code>euler174()</code> should return 209566.
|
||||
testString: assert.strictEqual(euler174(), 209566);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler174();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler174();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f41c1000cf542c50ff2e
|
||||
challengeType: 5
|
||||
title: 'Problem 175: Fractions involving the number of different ways a number can be expressed as a sum of powers of 2'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301810
|
||||
localeTitle: 'Задача 175: Фракции, включающие количество разных способов, число может быть выражено как сумма степеней 2'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Определим f (0) = 1 и f (n) как число способов записи n как суммы степеней 2, где никакая мощность не более двух раз. <p> Например, f (10) = 5, поскольку существует пять различных способов выражения 10:10 = 8 + 2 = 8 + 1 + 1 = 4 + 4 + 2 = 4 + 2 + 2 + 1 + 1 = 4 + 4 + 1 + 1 </p><p> Можно показать, что для любой доли p / q (p> 0, q> 0) существует хотя бы одно целое число n такое, что f (n) / f (n-1) = p / q. Например, наименьшее n, для которого f (n) / f (n-1) = 13/17 равно 241. Бинарное разложение 241 равно 11110001. Считая это двоичное число от самого значащего бита до наименее значимого бита, 4 one, 3 zeroes и 1 one. Будем называть строку 4,3,1 сокращенным двоичным расширением 241. Найти сокращенное двоичное разложение наименьшего n, для которого f (n) / f (n-1) = 123456789/987654321. Дайте свой ответ как целые числа, разделенные запятой, без каких-либо пробелов. </p></section>
|
||||
<section id='description'>
|
||||
Определим f (0) = 1 и f (n) как число способов записи n как суммы степеней 2, где никакая мощность не более двух раз. <p> Например, f (10) = 5, поскольку существует пять различных способов выражения 10:10 = 8 + 2 = 8 + 1 + 1 = 4 + 4 + 2 = 4 + 2 + 2 + 1 + 1 = 4 + 4 + 1 + 1 </p><p> Можно показать, что для любой доли p / q (p> 0, q> 0) существует хотя бы одно целое число n такое, что f (n) / f (n-1) = p / q. Например, наименьшее n, для которого f (n) / f (n-1) = 13/17 равно 241. Бинарное разложение 241 равно 11110001. Считая это двоичное число от самого значащего бита до наименее значимого бита, 4 one, 3 zeroes и 1 one. Будем называть строку 4,3,1 сокращенным двоичным расширением 241. Найти сокращенное двоичное разложение наименьшего n, для которого f (n) / f (n-1) = 123456789/987654321. Дайте свой ответ как целые числа, разделенные запятой, без каких-либо пробелов. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 175: Фракции, включающие колич
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: '<code>euler175()</code> должен возвращать 1, 13717420, 8.'
|
||||
testString: 'assert.strictEqual(euler175(), 1, 13717420, 8, "<code>euler175()</code> should return 1, 13717420, 8.");'
|
||||
- text: <code>euler175()</code> should return 1, 13717420, 8.
|
||||
testString: assert.strictEqual(euler175(), 1, 13717420, 8);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler175();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler175();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f41c1000cf542c50ff2f
|
||||
challengeType: 5
|
||||
title: 'Problem 176: Right-angled triangles that share a cathetus'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301811
|
||||
localeTitle: 'Проблема 176: Прямоугольные треугольники, разделяющие катет'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Четыре прямоугольных треугольника со сторонами (9,12,15), (12,16,20), (5,12,13) и (12,35,37) имеют одну из более коротких сторон (катети) равных до 12. Можно показать, что ни один другой прямоугольный прямоугольный треугольник не существует с одним из катети, равным 12. Найдите наименьшее целое число, которое может быть длиной катета ровно 47547 различных целых односторонних прямоугольных треугольников. </section>
|
||||
<section id='description'>
|
||||
Четыре прямоугольных треугольника со сторонами (9,12,15), (12,16,20), (5,12,13) и (12,35,37) имеют одну из более коротких сторон (катети) равных до 12. Можно показать, что ни один другой прямоугольный прямоугольный треугольник не существует с одним из катети, равным 12. Найдите наименьшее целое число, которое может быть длиной катета ровно 47547 различных целых односторонних прямоугольных треугольников.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Проблема 176: Прямоугольные треуголь
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler176()</code> должен вернуть 96818198400000.
|
||||
testString: 'assert.strictEqual(euler176(), 96818198400000, "<code>euler176()</code> should return 96818198400000.");'
|
||||
- text: <code>euler176()</code> should return 96818198400000.
|
||||
testString: assert.strictEqual(euler176(), 96818198400000);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler176();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler176();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f41e1000cf542c50ff30
|
||||
challengeType: 5
|
||||
title: 'Problem 177: Integer angled Quadrilaterals'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301812
|
||||
localeTitle: 'Задача 177: Целочисленные угловые четырехугольники'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Пусть ABCD - выпуклый четырехугольник с диагоналями AC и BD. В каждой вершине диагональ образует угол с каждой из двух сторон, создавая восемь углов угла. <p> Например, в вершине A два угла - CAD, CAB. Мы называем такой четырехугольник, для которого все восемь угловых углов имеют целочисленные значения при измерении в градусах «целочисленный угловой четырехсторонний». Примером целочисленного квадратного четырехугольника является квадрат, где все восемь угловых углов 45 °. Другой пример - DAC = 20 °, BAC = 60 °, ABD = 50 °, CBD = 30 °, BCA = 40 °, DCA = 30 °, CDB = 80 °, ADB = 50 °. Каково общее число непохожих целых угловых четырехугольников? Примечание. В ваших расчетах вы можете предположить, что вычисленный угол является интегральным, если он находится в пределах допуска 10-9 целочисленного значения. </p></section>
|
||||
<section id='description'>
|
||||
Пусть ABCD - выпуклый четырехугольник с диагоналями AC и BD. В каждой вершине диагональ образует угол с каждой из двух сторон, создавая восемь углов угла. <p> Например, в вершине A два угла - CAD, CAB. Мы называем такой четырехугольник, для которого все восемь угловых углов имеют целочисленные значения при измерении в градусах «целочисленный угловой четырехсторонний». Примером целочисленного квадратного четырехугольника является квадрат, где все восемь угловых углов 45 °. Другой пример - DAC = 20 °, BAC = 60 °, ABD = 50 °, CBD = 30 °, BCA = 40 °, DCA = 30 °, CDB = 80 °, ADB = 50 °. Каково общее число непохожих целых угловых четырехугольников? Примечание. В ваших расчетах вы можете предположить, что вычисленный угол является интегральным, если он находится в пределах допуска 10-9 целочисленного значения. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 177: Целочисленные угловые чет
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler177()</code> должен вернуть 129325.
|
||||
testString: 'assert.strictEqual(euler177(), 129325, "<code>euler177()</code> should return 129325.");'
|
||||
- text: <code>euler177()</code> should return 129325.
|
||||
testString: assert.strictEqual(euler177(), 129325);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler177();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler177();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f41e1000cf542c50ff31
|
||||
challengeType: 5
|
||||
title: 'Problem 178: Step Numbers'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301813
|
||||
localeTitle: 'Проблема 178: Шаговые числа'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Рассмотрим число 45656. Можно видеть, что каждая пара последовательных цифр 45656 имеет разницу в одном. Число, для которого каждая пара последовательных цифр имеет разницу в одном, называется номером шага. Число pandigital содержит каждую десятичную цифру от 0 до 9, по крайней мере, один раз. <p> Сколько pandigital число шагов меньше 1040? </p></section>
|
||||
<section id='description'>
|
||||
Рассмотрим число 45656. Можно видеть, что каждая пара последовательных цифр 45656 имеет разницу в одном. Число, для которого каждая пара последовательных цифр имеет разницу в одном, называется номером шага. Число pandigital содержит каждую десятичную цифру от 0 до 9, по крайней мере, один раз. <p> Сколько pandigital число шагов меньше 1040? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Проблема 178: Шаговые числа'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler178()</code> должен вернуть 126461847755.
|
||||
testString: 'assert.strictEqual(euler178(), 126461847755, "<code>euler178()</code> should return 126461847755.");'
|
||||
- text: <code>euler178()</code> should return 126461847755.
|
||||
testString: assert.strictEqual(euler178(), 126461847755);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler178();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler178();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f41f1000cf542c50ff32
|
||||
challengeType: 5
|
||||
title: 'Problem 179: Consecutive positive divisors'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301814
|
||||
localeTitle: 'Задача 179: последовательные положительные делители'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Найдите число целых чисел 1 <n <107, для которых n и n + 1 имеют одинаковое число положительных делителей. Например, 14 имеет положительные делители 1, 2, 7, 14, а 15 - 1, 3, 5, 15. </section>
|
||||
<section id='description'>
|
||||
Найдите число целых чисел 1 <n <107, для которых n и n + 1 имеют одинаковое число положительных делителей. Например, 14 имеет положительные делители 1, 2, 7, 14, а 15 - 1, 3, 5, 15.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 179: последовательные положит
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler179()</code> должен возвращать 986262.
|
||||
testString: 'assert.strictEqual(euler179(), 986262, "<code>euler179()</code> should return 986262.");'
|
||||
- text: <code>euler179()</code> should return 986262.
|
||||
testString: assert.strictEqual(euler179(), 986262);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler179();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler179();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f37e1000cf542c50fe91
|
||||
challengeType: 5
|
||||
title: 'Problem 18: Maximum path sum I'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301815
|
||||
localeTitle: 'Задача 18: максимальная длина пути I'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Начав в верхней части треугольника внизу и перемещаясь к соседним номерам в строке ниже, максимальная сумма сверху вниз составляет 23. <span style="display: block; text-align: center;"><b style="color: red;">3</b> <br> <b style="color: red;">7</b> 4 <br> 2 <b style="color: red;">4</b> 6 <br> 8 5 <b style="color: red;">9</b> 3</span> То есть, 3 + 7 + 4 + 9 = 23. Найдите максимальную сумму сверху вниз от треугольника ниже: <span style="display: block; text-align: center;">75 <br> 95 64 <br> 17 47 82 <br> 18 35 87 10 <br> 20 04 82 47 65 <br> 19 01 23 75 03 34 <br> 88 02 77 73 07 63 67 <br> 99 65 04 28 06 16 70 92 <br> 41 41 26 56 83 40 80 70 33 <br> 41 48 72 33 47 32 37 16 94 29 <br> 53 71 44 65 25 43 91 52 97 51 14 <br> 70 11 33 28 77 73 17 78 39 68 17 57 <br> 91 71 52 38 17 14 91 43 58 50 27 29 48 <br> 63 66 04 68 89 53 67 30 73 16 69 87 40 31 <br> 04 62 98 27 23 09 70 98 73 93 38 53 60 04 23</span> <b>ПРИМЕЧАНИЕ.</b> Поскольку существует только 16384 маршрута, можно решить эту проблему, пробовав каждый маршрут. Однако задача 67 - это та же проблема с треугольником, содержащим сто строк; она не может быть решена грубой силой и требует умного метода! ; О) </section>
|
||||
<section id='description'>
|
||||
Начав в верхней части треугольника внизу и перемещаясь к соседним номерам в строке ниже, максимальная сумма сверху вниз составляет 23. <span style="display: block; text-align: center;"><b style="color: red;">3</b> <br> <b style="color: red;">7</b> 4 <br> 2 <b style="color: red;">4</b> 6 <br> 8 5 <b style="color: red;">9</b> 3</span> То есть, 3 + 7 + 4 + 9 = 23. Найдите максимальную сумму сверху вниз от треугольника ниже: <span style="display: block; text-align: center;">75 <br> 95 64 <br> 17 47 82 <br> 18 35 87 10 <br> 20 04 82 47 65 <br> 19 01 23 75 03 34 <br> 88 02 77 73 07 63 67 <br> 99 65 04 28 06 16 70 92 <br> 41 41 26 56 83 40 80 70 33 <br> 41 48 72 33 47 32 37 16 94 29 <br> 53 71 44 65 25 43 91 52 97 51 14 <br> 70 11 33 28 77 73 17 78 39 68 17 57 <br> 91 71 52 38 17 14 91 43 58 50 27 29 48 <br> 63 66 04 68 89 53 67 30 73 16 69 87 40 31 <br> 04 62 98 27 23 09 70 98 73 93 38 53 60 04 23</span> <b>ПРИМЕЧАНИЕ.</b> Поскольку существует только 16384 маршрута, можно решить эту проблему, пробовав каждый маршрут. Однако задача 67 - это та же проблема с треугольником, содержащим сто строк; она не может быть решена грубой силой и требует умного метода! ; О)
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,10 +21,10 @@ localeTitle: 'Задача 18: максимальная длина пути I'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>maximumPathSumI(testTriangle)</code> должен возвращать 23.
|
||||
testString: 'assert.strictEqual(maximumPathSumI(testTriangle), 23, "<code>maximumPathSumI(testTriangle)</code> should return 23.");'
|
||||
- text: <code>maximumPathSumI(numTriangle)</code> должен возвращать 1074.
|
||||
testString: 'assert.strictEqual(maximumPathSumI(numTriangle), 1074, "<code>maximumPathSumI(numTriangle)</code> should return 1074.");'
|
||||
- text: <code>maximumPathSumI(testTriangle)</code> should return 23.
|
||||
testString: assert.strictEqual(maximumPathSumI(testTriangle), 23);
|
||||
- text: <code>maximumPathSumI(numTriangle)</code> should return 1074.
|
||||
testString: assert.strictEqual(maximumPathSumI(numTriangle), 1074);
|
||||
|
||||
```
|
||||
|
||||
@@ -49,7 +52,7 @@ maximumPathSumI(testTriangle);
|
||||
|
||||
</div>
|
||||
|
||||
### Before Test
|
||||
### Before Tests
|
||||
<div id='js-setup'>
|
||||
|
||||
```js
|
||||
@@ -59,13 +62,32 @@ const numTriangle = [[75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [95, 64, 0,
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
<section id='solution'>
|
||||
|
||||
```js
|
||||
// solution required
|
||||
const testTriangle = [[3, 0, 0, 0],
|
||||
[7, 4, 0, 0],
|
||||
[2, 4, 6, 0],
|
||||
[8, 5, 9, 3]];
|
||||
|
||||
function maximumPathSumI(triangle) {
|
||||
let maxSum = triangle.slice();
|
||||
|
||||
for (let i = triangle.length - 1; i > 0; i--) {
|
||||
let currentRow = maxSum[i];
|
||||
let previousRow = maxSum[i - 1];
|
||||
const temp = [];
|
||||
for (let j = 0; j < i; j++) {
|
||||
temp.push(Math.max((currentRow[j] + previousRow[j]), (currentRow[j + 1] + previousRow[j])));
|
||||
}
|
||||
maxSum[i - 1] = temp;
|
||||
maxSum.pop();
|
||||
}
|
||||
return maxSum[0][0];
|
||||
}
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4201000cf542c50ff33
|
||||
challengeType: 5
|
||||
title: 'Problem 180: Rational zeros of a function of three variables'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301816
|
||||
localeTitle: 'Задача 180: рациональные нули функции трех переменных'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Для любого целого n рассмотрим три функции f1, n (x, y, z) = xn + 1 + yn + 1 - zn + 1f2, n (x, y, z) = (xy + yz + zx) * ( xn-1 + yn-1 - zn-1) f3, n (x, y, z) = xyz * (xn-2 + yn-2 - zn-2) и их комбинация fn (x, y, z) = f1, n (x, y, z) + f2, n (x, y, z) - f3, n (x, y, z). Мы называем (x, y, z) золотой тройкой порядка k, если x, y и z - все рациональные числа вида a / b с 0 <a <b ≤ k и существует (по крайней мере) одно целое число n, так что fn (x, y, z) = 0. Пусть s (x , y, z) = x + y + z. Пусть t = u / v - сумма всех различных s (x, y, z) для всех золотых троек (x, y, z) порядка 35. Все s (x, y, z) и t должны быть в сокращенная форма. Найти u + v. </section>
|
||||
<section id='description'>
|
||||
Для любого целого n рассмотрим три функции f1, n (x, y, z) = xn + 1 + yn + 1 - zn + 1f2, n (x, y, z) = (xy + yz + zx) * ( xn-1 + yn-1 - zn-1) f3, n (x, y, z) = xyz * (xn-2 + yn-2 - zn-2) и их комбинация fn (x, y, z) = f1, n (x, y, z) + f2, n (x, y, z) - f3, n (x, y, z). Мы называем (x, y, z) золотой тройкой порядка k, если x, y и z - все рациональные числа вида a / b с 0 <a <b ≤ k и существует (по крайней мере) одно целое число n, так что fn (x, y, z) = 0. Пусть s (x , y, z) = x + y + z. Пусть t = u / v - сумма всех различных s (x, y, z) для всех золотых троек (x, y, z) порядка 35. Все s (x, y, z) и t должны быть в сокращенная форма. Найти u + v.
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 180: рациональные нули функции
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler180()</code> должен возвращать 285196020571078980.
|
||||
testString: 'assert.strictEqual(euler180(), 285196020571078980, "<code>euler180()</code> should return 285196020571078980.");'
|
||||
- text: <code>euler180()</code> should return 285196020571078980.
|
||||
testString: assert.strictEqual(euler180(), 285196020571078980);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler180();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler180();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4231000cf542c50ff34
|
||||
challengeType: 5
|
||||
title: 'Problem 181: Investigating in how many ways objects of two different colours can be grouped'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301817
|
||||
localeTitle: 'Задача 181: Исследование того, как много объектов можно сгруппировать'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Имея три черных объекта B и один белый объект W, они могут быть сгруппированы по 7 способами: (BBBW) (B, BBW) (B, B, BW) (B, B, B, W) (B, BB, W ) (BBB, W) (BB, BW). Каким образом можно таким образом сгруппировать шестьдесят черных объектов B и сорок белых объектов W? </section>
|
||||
<section id='description'>
|
||||
Имея три черных объекта B и один белый объект W, они могут быть сгруппированы по 7 способами: (BBBW) (B, BBW) (B, B, BW) (B, B, B, W) (B, BB, W ) (BBB, W) (BB, BW). Каким образом можно таким образом сгруппировать шестьдесят черных объектов B и сорок белых объектов W?
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 181: Исследование того, как мно
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler181()</code> должен вернуть 83735848679360670.
|
||||
testString: 'assert.strictEqual(euler181(), 83735848679360670, "<code>euler181()</code> should return 83735848679360670.");'
|
||||
- text: <code>euler181()</code> should return 83735848679360670.
|
||||
testString: assert.strictEqual(euler181(), 83735848679360670);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler181();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler181();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4231000cf542c50ff35
|
||||
challengeType: 5
|
||||
title: 'Problem 182: RSA encryption'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301818
|
||||
localeTitle: 'Проблема 182: Шифрование RSA'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Шифрование RSA основано на следующей процедуре: сгенерировать два разных простых числа p и q.Compute n = pq и φ = (p-1) (q-1). Найдите целое число e, 1 <e<φ, such="" that="" gcd(e,φ)="1." a="" message="" in="" this="" system="" is="" number="" the="" interval="" [0,n-1].="" text="" to="" be="" encrypted="" then="" somehow="" converted="" messages="" (numbers="" [0,n-1]).="" encrypt="" text,="" for="" each="" message,="" m,="" c="me" mod="" n="" calculated.="" decrypt="" following="" procedure="" needed:="" calculate="" d="" ed="1" φ,="" c,="" m="cd" n.="" there="" exist="" values="" of="" e="" and="" me="" call="" which="" unconcealed="" messages.="" an="" issue="" when="" choosing="" should="" not="" too="" many="" instance,="" let="" p="19" q="37." φ="18*36=648." if="" we="" choose="" then,="" although="" gcd(181,648)="1" it="" turns="" out="" all="" possible="" messagesm="" (0≤m≤n-1)="" are="" calculating="" any="" valid="" choice="" some="" it's="" important="" at="" minimum.="" find="" sum="" e,="" 1<e<φ(1009,3643)="" so="" value="" <="" section=""><h2> инструкции </h2><section id="instructions"></section><h2> тесты </h2><section id="tests"><pre> <code class="language-yml">tests: - text: <code>euler182()</code> should return 399788195976. testString: 'assert.strictEqual(euler182(), 399788195976, "<code>euler182()</code> should return 399788195976.");'</code> </pre></section><h2> Сезон испытания </h2><section id="challengeSeed"><div id="js-seed"><pre> <code class="language-js">function euler182() { // Good luck! return true; } euler182();</code> </pre></div></section><h2> Решение </h2><section id="solution"><pre> <code class="language-js">// solution required</code> </pre></section></e<φ,></section>
|
||||
<section id='description'>
|
||||
Шифрование RSA основано на следующей процедуре: сгенерировать два разных простых числа p и q.Compute n = pq и φ = (p-1) (q-1). Найдите целое число e, 1 <e<φ, such="" that="" gcd(e,φ)="1." a="" message="" in="" this="" system="" is="" number="" the="" interval="" [0,n-1].="" text="" to="" be="" encrypted="" then="" somehow="" converted="" messages="" (numbers="" [0,n-1]).="" encrypt="" text,="" for="" each="" message,="" m,="" c="me" mod="" n="" calculated.="" decrypt="" following="" procedure="" needed:="" calculate="" d="" ed="1" φ,="" c,="" m="cd" n.="" there="" exist="" values="" of="" e="" and="" me="" call="" which="" unconcealed="" messages.="" an="" issue="" when="" choosing="" should="" not="" too="" many="" instance,="" let="" p="19" q="37." φ="18*36=648." if="" we="" choose="" then,="" although="" gcd(181,648)="1" it="" turns="" out="" all="" possible="" messagesm="" (0≤m≤n-1)="" are="" calculating="" any="" valid="" choice="" some="" it's="" important="" at="" minimum.="" find="" sum="" e,="" 1<e<φ(1009,3643)="" so="" value="" <="" section=""><h2> инструкции </h2><section id="instructions"></section><h2> тесты </h2><section id="tests"><pre> <code class="language-yml">tests: - text: <code>euler182()</code> should return 399788195976. testString: 'assert.strictEqual(euler182(), 399788195976, "<code>euler182()</code> should return 399788195976.");'</code> </pre></section><h2> Сезон испытания </h2><section id="challengeSeed"><div id="js-seed"><pre> <code class="language-js">function euler182() { // Good luck! return true; } euler182();</code> </pre></div></section><h2> Решение </h2><section id="solution"><pre> <code class="language-js">// solution required</code> </pre></section></e<φ,>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Проблема 182: Шифрование RSA'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler182()</code> должен вернуть 399788195976.
|
||||
testString: 'assert.strictEqual(euler182(), 399788195976, "<code>euler182()</code> should return 399788195976.");'
|
||||
- text: <code>euler182()</code> should return 399788195976.
|
||||
testString: assert.strictEqual(euler182(), 399788195976);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler182();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler182();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4231000cf542c50ff36
|
||||
challengeType: 5
|
||||
title: 'Problem 183: Maximum product of parts'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301819
|
||||
localeTitle: 'Проблема 183: Максимальный продукт деталей'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Пусть N - положительное целое число и N разбивается на k равных частей, r = N / k, так что N = r + r + ... + r. Пусть P - произведение этих частей, P = r × r × ... × r = rk. <p> Например, если 11 разбивается на пять равных частей, 11 = 2.2 + 2.2 + 2.2 + 2.2 + 2.2, то P = 2.25 = 51.53632. </p><p> Пусть M (N) = Pmax при заданном значении N. </p><p> Оказывается, что максимум при N = 11 определяется расщеплением одиннадцати на четыре равные части, что приводит к Pmax = (11/4) 4; то есть M (11) = 14641/256 = 57.19140625, который является конечным десятичным. </p><p> Однако при N = 8 максимум достигается путем разбиения его на три равные части, поэтому M (8) = 512/27, что является бесконечным десятичным числом. </p><p> Пусть D (N) = N, если M (N) не является бесконечным десятичным числом, а D (N) = -N, если M (N) является конечным десятичным. </p><p> Например, ΣD (N) для 5 ≤ N ≤ 100 составляет 2438. </p><p> Найти ΣD (N) для 5 ≤ N ≤ 10000. </p></section>
|
||||
<section id='description'>
|
||||
Пусть N - положительное целое число и N разбивается на k равных частей, r = N / k, так что N = r + r + ... + r. Пусть P - произведение этих частей, P = r × r × ... × r = rk. <p> Например, если 11 разбивается на пять равных частей, 11 = 2.2 + 2.2 + 2.2 + 2.2 + 2.2, то P = 2.25 = 51.53632. </p><p> Пусть M (N) = Pmax при заданном значении N. </p><p> Оказывается, что максимум при N = 11 определяется расщеплением одиннадцати на четыре равные части, что приводит к Pmax = (11/4) 4; то есть M (11) = 14641/256 = 57.19140625, который является конечным десятичным. </p><p> Однако при N = 8 максимум достигается путем разбиения его на три равные части, поэтому M (8) = 512/27, что является бесконечным десятичным числом. </p><p> Пусть D (N) = N, если M (N) не является бесконечным десятичным числом, а D (N) = -N, если M (N) является конечным десятичным. </p><p> Например, ΣD (N) для 5 ≤ N ≤ 100 составляет 2438. </p><p> Найти ΣD (N) для 5 ≤ N ≤ 10000. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Проблема 183: Максимальный продукт де
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler183()</code> должен вернуть 48861552.
|
||||
testString: 'assert.strictEqual(euler183(), 48861552, "<code>euler183()</code> should return 48861552.");'
|
||||
- text: <code>euler183()</code> should return 48861552.
|
||||
testString: assert.strictEqual(euler183(), 48861552);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler183();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler183();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4241000cf542c50ff37
|
||||
challengeType: 5
|
||||
title: 'Problem 184: Triangles containing the origin'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301820
|
||||
localeTitle: 'Задача 184: Треугольники, содержащие начало координат'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Рассмотрим множество Ir точек (x, y) с целыми координатами внутри круга с радиусом r, центрированным в начале координат, т. Е. X2 + y2 <r2. Для радиуса 2 I2 содержит девять точек (0,0), (1,0), (1,1), (0,1), (-1,1), (-1,0), ( -1, -1), (0, -1) и (1, -1). Есть восемь треугольников, имеющих все три вершины в I2, которые содержат начало координат внутри. Два из них показаны ниже, другие получены из них вращением. <p> Для радиуса 3 есть 360 треугольников, содержащих начало координат внутри и имеющих все вершины в I3, а для I5 - 10600. </p><p> Сколько треугольников содержит начало координат внутри и имеет все три вершины в I105? </p></section>
|
||||
<section id='description'>
|
||||
Рассмотрим множество Ir точек (x, y) с целыми координатами внутри круга с радиусом r, центрированным в начале координат, т. Е. X2 + y2 <r2. Для радиуса 2 I2 содержит девять точек (0,0), (1,0), (1,1), (0,1), (-1,1), (-1,0), ( -1, -1), (0, -1) и (1, -1). Есть восемь треугольников, имеющих все три вершины в I2, которые содержат начало координат внутри. Два из них показаны ниже, другие получены из них вращением. <p> Для радиуса 3 есть 360 треугольников, содержащих начало координат внутри и имеющих все вершины в I3, а для I5 - 10600. </p><p> Сколько треугольников содержит начало координат внутри и имеет все три вершины в I105? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 184: Треугольники, содержащие
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler184()</code> должен вернуть 1725323624056.
|
||||
testString: 'assert.strictEqual(euler184(), 1725323624056, "<code>euler184()</code> should return 1725323624056.");'
|
||||
- text: <code>euler184()</code> should return 1725323624056.
|
||||
testString: assert.strictEqual(euler184(), 1725323624056);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler184();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler184();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4251000cf542c50ff38
|
||||
challengeType: 5
|
||||
title: 'Problem 185: Number Mind'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301821
|
||||
localeTitle: 'Проблема 185: Количество разума'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Игра Number Mind - это вариант известной игры Master Mind. Вместо цветных штифтов вам нужно угадать секретную последовательность цифр. После каждой догадки вам говорят только, сколько мест вы угадали правильной цифрой. Итак, если последовательность была 1234, и вы догадались 2036, вам сказали бы, что у вас есть одна правильная цифра; однако вам не сказали бы, что у вас также есть другая цифра в неправильном месте. <p> Например, с учетом следующих догадок для 5-значной секретной последовательности: 90342; 2 правильной 70794, 0 правильной 39458, 2 правильной 34109, 1 правильной 51545, 2 правильной 12531, 1 правильной. Правильная последовательность 39542 уникальна. </p><p> Основываясь на следующих догадках, </p><p> 5616185650518293; 2 правильно 3847439647293047; 1 правильно 5855462940810587; 3 правильно 9742855507068353; 3 правильно 4296849643607543; 3 правильно 3174248439465858; 1 правильно 4513559094146117; 2 правильно 7890971548908067; 3 правильно 8157356344118483; 1 правильно 2615250744386899; 2 правильно 8690095851526254; 3 правильно 6375711915077050; 1 правильно 6913859173121360; 1 правильный 6442889055042768; 2 правильный 2321386104303845; 0 правильный 2326509471271448; 2 правильный 5251583379644322; 2 правильный 1748270476758276; 3 правильный 4895722652190306; 1 правильный 3041631117224635; 3 правильный 1841236454324589; 3 правильный 2659862637316867; 2 правильный </p><p> Найдите уникальную 16-значную секретную последовательность. </p></section>
|
||||
<section id='description'>
|
||||
Игра Number Mind - это вариант известной игры Master Mind. Вместо цветных штифтов вам нужно угадать секретную последовательность цифр. После каждой догадки вам говорят только, сколько мест вы угадали правильной цифрой. Итак, если последовательность была 1234, и вы догадались 2036, вам сказали бы, что у вас есть одна правильная цифра; однако вам не сказали бы, что у вас также есть другая цифра в неправильном месте. <p> Например, с учетом следующих догадок для 5-значной секретной последовательности: 90342; 2 правильной 70794, 0 правильной 39458, 2 правильной 34109, 1 правильной 51545, 2 правильной 12531, 1 правильной. Правильная последовательность 39542 уникальна. </p><p> Основываясь на следующих догадках, </p><p> 5616185650518293; 2 правильно 3847439647293047; 1 правильно 5855462940810587; 3 правильно 9742855507068353; 3 правильно 4296849643607543; 3 правильно 3174248439465858; 1 правильно 4513559094146117; 2 правильно 7890971548908067; 3 правильно 8157356344118483; 1 правильно 2615250744386899; 2 правильно 8690095851526254; 3 правильно 6375711915077050; 1 правильно 6913859173121360; 1 правильный 6442889055042768; 2 правильный 2321386104303845; 0 правильный 2326509471271448; 2 правильный 5251583379644322; 2 правильный 1748270476758276; 3 правильный 4895722652190306; 1 правильный 3041631117224635; 3 правильный 1841236454324589; 3 правильный 2659862637316867; 2 правильный </p><p> Найдите уникальную 16-значную секретную последовательность. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Проблема 185: Количество разума'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler185()</code> должен вернуть 4640261571849533.
|
||||
testString: 'assert.strictEqual(euler185(), 4640261571849533, "<code>euler185()</code> should return 4640261571849533.");'
|
||||
- text: <code>euler185()</code> should return 4640261571849533.
|
||||
testString: assert.strictEqual(euler185(), 4640261571849533);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler185();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler185();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4281000cf542c50ff39
|
||||
challengeType: 5
|
||||
title: 'Problem 186: Connectedness of a network'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301822
|
||||
localeTitle: 'Проблема 186: Связь сети'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Вот записи из занятой телефонной системы с миллионом пользователей: <p> RecNrCallerCalled120000710005326001835004393600863701497 ......... Телефонный номер вызывающего абонента и вызываемый номер в записи n являются Caller (n) = S2n-1 и Called (n) = S2n, где S1,2,3, ... приходят из «Отложенного генератора Фибоначчи»: </p><p> Для 1 ≤ k ≤ 55, Sk = [100003 - 200003k + 300007k3] (по модулю 1000000) Для 56 ≤ k Sk = [Sk-24 + Sk-55] (по модулю 1000000) </p><p> Если Caller (n) = Called (n), то предполагается, что пользователь ошибочно принят, и вызов завершается с ошибкой; в противном случае вызов будет успешным. </p><p> С самого начала записей мы говорим, что любая пара пользователей X и Y является друзьями, если X вызывает Y или наоборот. Аналогично, X является другом друга Z, если X является другом Y и Y является другом Z; и т. д. для более длинных цепей. </p><p> Номер телефона премьер-министра - 524287. После того, сколько успешных звонков, не считая ошибок, будет 99% пользователей (включая премьер-министра) быть другом или другом друга и т. Д. Премьер-министра? </p></section>
|
||||
<section id='description'>
|
||||
Вот записи из занятой телефонной системы с миллионом пользователей: <p> RecNrCallerCalled120000710005326001835004393600863701497 ......... Телефонный номер вызывающего абонента и вызываемый номер в записи n являются Caller (n) = S2n-1 и Called (n) = S2n, где S1,2,3, ... приходят из «Отложенного генератора Фибоначчи»: </p><p> Для 1 ≤ k ≤ 55, Sk = [100003 - 200003k + 300007k3] (по модулю 1000000) Для 56 ≤ k Sk = [Sk-24 + Sk-55] (по модулю 1000000) </p><p> Если Caller (n) = Called (n), то предполагается, что пользователь ошибочно принят, и вызов завершается с ошибкой; в противном случае вызов будет успешным. </p><p> С самого начала записей мы говорим, что любая пара пользователей X и Y является друзьями, если X вызывает Y или наоборот. Аналогично, X является другом друга Z, если X является другом Y и Y является другом Z; и т. д. для более длинных цепей. </p><p> Номер телефона премьер-министра - 524287. После того, сколько успешных звонков, не считая ошибок, будет 99% пользователей (включая премьер-министра) быть другом или другом друга и т. Д. Премьер-министра? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Проблема 186: Связь сети'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler186()</code> должен возвращать 2325629.
|
||||
testString: 'assert.strictEqual(euler186(), 2325629, "<code>euler186()</code> should return 2325629.");'
|
||||
- text: <code>euler186()</code> should return 2325629.
|
||||
testString: assert.strictEqual(euler186(), 2325629);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler186();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler186();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4291000cf542c50ff3a
|
||||
challengeType: 5
|
||||
title: 'Problem 187: Semiprimes'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301823
|
||||
localeTitle: 'Задача 187: Полупровождения'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Составной является число, содержащее как минимум два простых фактора. Например, 15 = 3 × 5; 9 = 3 × 3; 12 = 2 × 2 × 3. <p> Есть десять композитов ниже тридцати, содержащих ровно два, не обязательно разных основных фактора: 4, 6, 9, 10, 14, 15, 21, 22, 25, 26. </p><p> Сколько составных целых чисел, n <108, имеют ровно два, не обязательно различных первичных фактора? </p></section>
|
||||
<section id='description'>
|
||||
Составной является число, содержащее как минимум два простых фактора. Например, 15 = 3 × 5; 9 = 3 × 3; 12 = 2 × 2 × 3. <p> Есть десять композитов ниже тридцати, содержащих ровно два, не обязательно разных основных фактора: 4, 6, 9, 10, 14, 15, 21, 22, 25, 26. </p><p> Сколько составных целых чисел, n <108, имеют ровно два, не обязательно различных первичных фактора? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 187: Полупровождения'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler187()</code> должен вернуть 17427258.
|
||||
testString: 'assert.strictEqual(euler187(), 17427258, "<code>euler187()</code> should return 17427258.");'
|
||||
- text: <code>euler187()</code> should return 17427258.
|
||||
testString: assert.strictEqual(euler187(), 17427258);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler187();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler187();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4291000cf542c50ff3b
|
||||
challengeType: 5
|
||||
title: 'Problem 188: The hyperexponentiation of a number'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301824
|
||||
localeTitle: 'Задача 188: гиперразложение числа'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Гиперрезистентность или тетация числа a положительным целым числом b, обозначаемым ↑↑ b или ba, рекурсивно определяется: a ↑↑ 1 = a, a ↑↑ (k + 1) = a (a ↑↑ k ). <p> Таким образом, мы имеем, например, 3 ↑↑ 2 = 33 = 27, поэтому 3 ↑↑ 3 = 327 = 7625597484987 и 3 ↑↑ 4 примерно 103.6383346400240996 * 10 ^ 12. Найдите последние 8 цифр 1777 ↑↑ 1855. </p></section>
|
||||
<section id='description'>
|
||||
Гиперрезистентность или тетация числа a положительным целым числом b, обозначаемым ↑↑ b или ba, рекурсивно определяется: a ↑↑ 1 = a, a ↑↑ (k + 1) = a (a ↑↑ k ). <p> Таким образом, мы имеем, например, 3 ↑↑ 2 = 33 = 27, поэтому 3 ↑↑ 3 = 327 = 7625597484987 и 3 ↑↑ 4 примерно 103.6383346400240996 * 10 ^ 12. Найдите последние 8 цифр 1777 ↑↑ 1855. </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 188: гиперразложение числа'
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler188()</code> должен вернуть 95962097.
|
||||
testString: 'assert.strictEqual(euler188(), 95962097, "<code>euler188()</code> should return 95962097.");'
|
||||
- text: <code>euler188()</code> should return 95962097.
|
||||
testString: assert.strictEqual(euler188(), 95962097);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler188();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler188();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -2,15 +2,18 @@
|
||||
id: 5900f4291000cf542c50ff3c
|
||||
challengeType: 5
|
||||
title: 'Problem 189: Tri-colouring a triangular grid'
|
||||
videoUrl: ''
|
||||
forumTopicId: 301825
|
||||
localeTitle: 'Задача 189: Трехцветная треугольная сетка'
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id="description"> Рассмотрим следующую конфигурацию из 64 треугольников: <p> Мы хотим покрасить интерьер каждого треугольника одним из трех цветов: красного, зеленого или синего, чтобы два соседних треугольника не имели одинакового цвета. Такая окраска называется действительной. Здесь два треугольника называются соседними, если они разделяют ребро. Примечание: если они разделяют только вершину, то они не являются соседями. </p><p> Например, вот действительная окраска указанной сетки: </p><p> Раскраска C ', которая получается из окраски C путем вращения или отражения, считается отличной от C, если они не идентичны. </p><p> Сколько различных правильных раскрасок существует для вышеуказанной конфигурации? </p></section>
|
||||
<section id='description'>
|
||||
Рассмотрим следующую конфигурацию из 64 треугольников: <p> Мы хотим покрасить интерьер каждого треугольника одним из трех цветов: красного, зеленого или синего, чтобы два соседних треугольника не имели одинакового цвета. Такая окраска называется действительной. Здесь два треугольника называются соседними, если они разделяют ребро. Примечание: если они разделяют только вершину, то они не являются соседями. </p><p> Например, вот действительная окраска указанной сетки: </p><p> Раскраска C ', которая получается из окраски C путем вращения или отражения, считается отличной от C, если они не идентичны. </p><p> Сколько различных правильных раскрасок существует для вышеуказанной конфигурации? </p>
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id="instructions">
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
@@ -18,8 +21,8 @@ localeTitle: 'Задача 189: Трехцветная треугольная с
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: <code>euler189()</code> должен вернуть 10834893628237824.
|
||||
testString: 'assert.strictEqual(euler189(), 10834893628237824, "<code>euler189()</code> should return 10834893628237824.");'
|
||||
- text: <code>euler189()</code> should return 10834893628237824.
|
||||
testString: assert.strictEqual(euler189(), 10834893628237824);
|
||||
|
||||
```
|
||||
|
||||
@@ -42,8 +45,6 @@ euler189();
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
@@ -52,4 +53,5 @@ euler189();
|
||||
```js
|
||||
// solution required
|
||||
```
|
||||
|
||||
</section>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user