Вопрос задан 10.06.2023 в 23:10. Предмет Информатика. Спрашивает Сабитова Акмарал.

Phyton срочно пожалуйста Дано ціле число N (>1). Вивести найбільше з цілих чисел K, для яких

сума S = 1 + 2 + … + K буде меншою або дорівнює N, і саму цю суму.​
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Собко Кирилл.

Асимптотика: что-то типа O(NlogN)

def f(n):

return n * (n + 1) // 2

def bs(n):

left = 0

right = n

while left < right:

 mid = (left + right) // 2

 now = f(mid)

 if now <= n and f(mid + 1) > n:

  return mid

 if now > n:

  right = mid - 1

 else:

  left = mid + 1

return left

k = bs(int(input()))

print(k, f(k), sep='\n')

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Ось Python код, який вирішує вашу задачу:

python
def find_largest_sum(N): K = 1 S = 0 while S <= N: S += K K += 1 return K - 2, S - (K - 2) # Приклад використання: N = 15 largest_K, sum_S = find_largest_sum(N) print("Найбільше число K:", largest_K) print("Сума S:", sum_S)

Цей код шукає найбільше ціле число K, для якого сума S = 1 + 2 + ... + K буде меншою або дорівнює заданому числу N. У вихідних даних ви отримаєте значення largest_K, яке є найбільшим числом K, і sum_S, яке є відповідною сумою.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос