55 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			55 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | id: 5900f54a1000cf542c51005c | |||
|  | challengeType: 5 | |||
|  | title: 'Problem 477: Number Sequence Game' | |||
|  | videoUrl: '' | |||
|  | localeTitle: 'Проблема 477: Игра с порядковым номером' | |||
|  | --- | |||
|  | 
 | |||
|  | ## Description
 | |||
|  | <section id="description"> Игра с порядковым номером начинается с последовательности S из N чисел, написанных на линии. Два игрока чередуют обороты. В свою очередь игрок должен выбрать и удалить либо первый, либо последний номер, оставшийся в последовательности. Счет игрока - это сумма всех чисел, которые он сделал. Каждый игрок пытается максимизировать свою собственную сумму. Если N = 4 и S = {1, 2, 10, 3}, то каждый игрок максимизирует свой результат следующим образом: Игрок 1: удаляет первое число (1) Игрок 2: удаляет последнее число из оставшейся последовательности (3) Игрок 1: удаляет последний номер из оставшейся последовательности (10) Игрок 2: удаляет оставшееся число (2). Счет 1 игрока равен 1 + 10 = 11. Пусть F (N) - счет игрока 1, если оба игрока следуют оптимальная стратегия для последовательности S = {s1, s2, ..., sN}, определяемая как: s1 = 0 si + 1 = (si2 + 45) по модулю 1 000 000 007 Последовательность начинается с S = {0, 45, 2070 , 4284945, 753524550, 478107844, 894218625, ...}. Вам дается F (2) = 45, F (4) = 4284990, F (100) = 26365463243, F (104) = 2495838522951. Найдите F (108). </section> | |||
|  | 
 | |||
|  | ## Instructions
 | |||
|  | undefined | |||
|  | 
 | |||
|  | ## Tests
 | |||
|  | <section id='tests'> | |||
|  | 
 | |||
|  | ```yml | |||
|  | tests: | |||
|  |   - text: '' | |||
|  |     testString: 'assert.strictEqual(euler477(), 25044905874565164, "<code>euler477()</code> should return 25044905874565164.");' | |||
|  | 
 | |||
|  | ``` | |||
|  | 
 | |||
|  | </section> | |||
|  | 
 | |||
|  | ## Challenge Seed
 | |||
|  | <section id='challengeSeed'> | |||
|  | 
 | |||
|  | <div id='js-seed'> | |||
|  | 
 | |||
|  | ```js | |||
|  | function euler477() { | |||
|  |   // Good luck! | |||
|  |   return true; | |||
|  | } | |||
|  | 
 | |||
|  | euler477(); | |||
|  | 
 | |||
|  | ``` | |||
|  | 
 | |||
|  | </div> | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | </section> | |||
|  | 
 | |||
|  | ## Solution
 | |||
|  | <section id='solution'> | |||
|  | 
 | |||
|  | ```js | |||
|  | // solution required | |||
|  | ``` | |||
|  | </section> |