Предмет: Информатика,
автор: MrRenderr
Задача B. Числа такси
Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 1 секунда
Ограничение по памяти: 128 мегабайт
Назовём числом такси число, которое можно представить в виде суммы двух кубов натуральных чисел двумя (или более) различными способами. Легенда, давшая имя этим числам, связана с
великими британскими математиками — Г. Х. Харди и Сринивасом Рамануджаном:
Я (Годфри Харди) помню, пришёл раз навестить его (Рамануджана), лежащего в больнице в
Питни. Я приехал на такси с номером 1729 и заметил в разговоре, что число скучное, и что я
надеюсь, что это не является неблагоприятным знаком. «Нет, — ответил тот, — это число
очень интересно: это наименьшее натуральное число, представимое в виде суммы кубов двумя
различными способами!»
Ваша задача — ответить, сколько чисел такси существует на промежутке от 1 до N включительно.
Формат входных данных
Дано натуральное число N (1 6 N 6 2 · 109
).
Формат выходных данных
Выведите единственное число — ответ на задачу.
Система оценки
Ограничения
Подзадача Баллы
n
Необходимые
подзадачи
Результаты во
время тура
1 40 n 6 103 У Потестовые
2 30 n 6 107 У, 1 Потестовые
3 30 n 6 2 · 109 У, 1, 2 Потестовые
Примеры
стандартный ввод стандартный вывод
1 1729 0 1
Ответы
Автор ответа:
1
Ответ:
//PascalABC.NET версия 3.2, сборка 1389
//Если программа не запускается, то обновите версию
uses System.Linq;
begin
writeln('III');
var a := ReadArrInteger('Документы', ReadInteger('n=')).ToList;
writeln;
while a.Any() do
begin
write(a[0], ' ');
a.RemoveAt(0);
if not a.Any then break;
write(a.Last, ' ');
a.RemoveAt(a.Count - 1);
if not a.Any then break;
var n := 0;
if a.Count > 1 then n := a.Count div 2 - 1;
write(a[n], ' ');
a.RemoveAt(n);
end;
end.
Объяснение:
Похожие вопросы
Предмет: История,
автор: Аноним
Предмет: Английский язык,
автор: pavlotimcak5
Предмет: Литература,
автор: aafggspj
Предмет: Литература,
автор: зенна1
Предмет: Математика,
автор: woiten21