Простая математика

Правка ru2, от Volkovskiy, 2017-04-24 21:27:03

Задача из республиканской олимпиады по информатике "Простая математика" (День 1. Задача 1)

Условие:

Посчитать сумму первых n членов последовательности:

S(n) = (f(1) + g(1)) + (f(2) + g(2)) + (f(3) + g(3)) + ... + (f(n) + g(n)), где f(a) возвращает корень квадратный sqrt(a), округлённый вверх, g(a) возвращает корень кубический 3&sqrt(a), округлённый вниз

Т.е.: f(5) = 3 f(4) = 2 f(3) = 2

g(5) = 1 g(9) = 2 g(26)= 2

Входные данные: Число N <= 10^12 Выходные данные: Результат S(N). Гарантируется, что S(N) <= 10^18

Пример ввода: 4 Пример вывода 11 (Т.к. S(4) = ((f(1) + g(1)) + (f(2) + g(2)) + (f(3) + g(3)) + (f(4) + g(4))) = (1 + 1) + (2 + 1) + (2 + 1) + (2 + 1) = 2 + 3 *3 = 2 + 9 = 11)

Пример ввода: 5 Пример вывода 15 (Т.к. S(5) = S(4) + (f(5) + g(5)) = 11 + (3 + 1) = 15

/----------------------------------------- Решение: Вот общая формула:  Your text to link here... ///predownloaded/cf/0c/cf0cbe46fe516f963b624f3fe31d8836b59a9246.png Или такая: Your text to link here... //predownloaded/b0/30/b030584a7e94780fd870a876eb6acb36362142c3.png

/----------------------------------------- /*первая формула на с++*/ /*решение пройдено на 100%*/

сin >> n;
m = (long long)(sqrt(n));
k = (long long)(pow(n, 1.0/3) + 0.0005);    // + 0.0005 из-за неточности работы pow()
sum  = m * (m + 1) * (4 * m &mdash; 1) / 6;
sum += (m + 1) * (n &mdash; m * m);
sum += k * (k + 1) * (k + 1) * (3 * k + 4) / 4;
sum -= k * (pow((k + 1), 3) &mdash; n &mdash; 1);
сout << sum;

/-----------------------------------------

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
ru8 Русский Volkovskiy 2017-04-24 21:55:40 0 (опубликовано)
ru7 Русский Volkovskiy 2017-04-24 21:54:44 250
ru6 Русский Volkovskiy 2017-04-24 21:38:25 117 Мелкая правка: '----------' -> '----------\n\nP.s. Невозможно нормально писать :('
ru5 Русский Volkovskiy 2017-04-24 21:31:43 59
ru4 Русский Volkovskiy 2017-04-24 21:30:06 34
ru3 Русский Volkovskiy 2017-04-24 21:29:08 277
ru2 Русский Volkovskiy 2017-04-24 21:27:03 266
ru1 Русский Volkovskiy 2017-04-24 21:18:52 1517 Первая редакция (сохранено в черновиках)