kia80
?>

Исправить ошибки в коде так, чтобы выдавал точный возраст в годах, месяцах и днях. язык программирования — python.все ошибки и неточности и запустите программу. start import datetime birth day = int(input("day of birth: ")) birth month = int(input("month of birth: ")) birth year = int(input("year of birth: ")) day = int(datetime.date.) month = int(datetime.date.) year = int(datetime.date.) if * > **: age = year - birth_year then: age = (year - birth_year) - 1a = ageb = abs(month - birth_month)c = abs(day - birth_day)print("your age: {a} years, {b} months, {c} days")

Информатика

Ответы

propercarwashes275

import math

import sys

def get_first_max(tree, idx, l, r, L, R):

if r <= L or R <= l:

  return -1

if l >= L and r <= R:

  return tree[idx]

m = (l + r) // 2

return max(get_first_max(tree, idx * 2 + 1, l, m, L, R), get_first_max(tree, idx * 2 + 2, m, r, L, R))

num = input()

k = int(input())

n = len(num)

N = 2**math.ceil(math.log2(n))

M1 = 10 ** 7

M2 = 10 ** 6

tree = [-1] * (2 * N)

for i in range(n):

tree[N - 1 + i] = int(num[i]) * M1  + M2 - i

for i in range(N - 2, -1, -1):

tree[i] = max(tree[2 * i + 1], tree[2 * i + 2])

i = 0

ans = ""

for _ in range(n - k):

maximum = get_first_max(tree, 0, 0, N, i, i + k + 1)

val = maximum // M1

pos = M2 - maximum % M1

ans += str(val)

k -= pos - i

i = pos + 1

if k == 0:

  ans += num[i:]

  break

print(ans)

Объяснение:

Anatolevna1703

import math

import sys

def get_first_max(tree, idx, l, r, L, R):

 if r <= L or R <= l:

   return -1

 if l >= L and r <= R:

   return tree[idx]

 m = (l + r) // 2

 return max(get_first_max(tree, idx * 2 + 1, l, m, L, R), get_first_max(tree, idx * 2 + 2, m, r, L, R))

num = input()

k = int(input())

n = len(num)

N = 2**math.ceil(math.log2(n))

M1 = 10 ** 7

M2 = 10 ** 6

tree = [-1] * (2 * N)

for i in range(n):

 tree[N - 1 + i] = int(num[i]) * M1  + M2 - i

for i in range(N - 2, -1, -1):

 tree[i] = max(tree[2 * i + 1], tree[2 * i + 2])

i = 0

ans = ""

for _ in range(n - k):

 maximum = get_first_max(tree, 0, 0, N, i, i + k + 1)

 val = maximum // M1

 pos = M2 - maximum % M1

 ans += str(val)

 k -= pos - i

 i = pos + 1

 if k == 0:

   ans += num[i:]

   break

print(ans)

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Исправить ошибки в коде так, чтобы выдавал точный возраст в годах, месяцах и днях. язык программирования — python.все ошибки и неточности и запустите программу. start import datetime birth day = int(input("day of birth: ")) birth month = int(input("month of birth: ")) birth year = int(input("year of birth: ")) day = int(datetime.date.) month = int(datetime.date.) year = int(datetime.date.) if * > **: age = year - birth_year then: age = (year - birth_year) - 1a = ageb = abs(month - birth_month)c = abs(day - birth_day)print("your age: {a} years, {b} months, {c} days")
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

mulyugina365
d892644813661946
izumrud153
yatania-popovich7
razumeiko0790
sales5947
Varvara
karasev17764
tolyan791
Serdechnaya636
Кирилл_Гульницкий
kseniay2006548
Викторович
Лихачев Полина1978
atamanov5