def sort(a):
if len(a)>1:
n=len(a)//2
c=a[0:n]
b=a[n:len(a)]
c=sort(c)
b=sort(b)
d=merge(c,b)
return d
else:
return a
def merge(a,b):
d=0
e=0
f=[]
while d<=len(a)-1 and e<=len(b)-1:
if a[d]<b[e]:
d+=1
f.append(a[d-1])
else:
e+=1
f.append(b[e-1])
if d<len(a):
for i in range(len(a)-d):
f.append(a[i+d])
else:
for i in range(len(b)-e):
f.append(b[i+e])
return f
a=list(map(int,input().split()))
a=sort(a)
print(a)
Вот точно верная реализация алгоритма.
Хорошо,
Простая задача,дано число n>1, нужно вывести словами его каноническое разложение
Пример:
Креативные решения приветствуются!!!
Простая задача,дано число n>1, нужно вывести словами его каноническое разложение
Пример:
Ввод:
5
Вывод:
5 в степени 1
Креативные решения приветствуются!!!
Мне скинули одно верное решение!!!
Усложнение:
Нельзя использовать вложенные циклы (цикл в цикле)
Усложнение:
Нельзя использовать вложенные циклы (цикл в цикле)
n=int(input())
a=[]
b=0
def f(n):
for i in range(2,n+1):
if n%i==0:
if n!=i:
a.append(i)
f(n//i)
break
else:
a.append(n)
break
f(n)
#print(a)
c=1
for i in range(1,len(a)):
if a[i]==a[i-1] :
c+=1
else:
print(str(a[i-1])+" входит в степенни " + str(c))
c=1
print(str(a[-1])+" входит в степенни " + str(c))
Вот оно, верное решение
Окей, меня давно не было, вот задача к которой посже я выложу теорию.
Нужно решить уравнение c^2+√c=k, k-известно
Удачки!!!
Нужно решить уравнение c^2+√c=k, k-известно
Пример:
Ввод:
18
Вывод:
4
Удачки!!!
def binf(r,l,k):
if r-l<0.000001:
return l
c=(l+r)/2
if c**2+c**(1/2)>k:
return binf(c,l,k)
else:
return binf(r,c,k)
a=int(input())
print(binf(2*a**2,0,a))
А ведь решение было простым))))
Задача,
Вам дана матрица nxn, в неё записаны целые числа, черепаха стоит в левом верхнем углу, ей нужно пройти в правый нижний угол, двигаясь только вниз и вправо, собрав как можно большую сумму чисел на которые она наступала.
Ввод:
Число n>2
Матрица nxn с целыми числами, не превышающие 10^5.
Вывод:
Целое число, ответ на вопрос задачи.
Пример:
Удачи!!!
Вам дана матрица nxn, в неё записаны целые числа, черепаха стоит в левом верхнем углу, ей нужно пройти в правый нижний угол, двигаясь только вниз и вправо, собрав как можно большую сумму чисел на которые она наступала.
Ввод:
Число n>2
Матрица nxn с целыми числами, не превышающие 10^5.
Вывод:
Целое число, ответ на вопрос задачи.
Пример:
Ввод:
3
3 4 5
1 9 3
1 9 9
Вывод:
34
Удачи!!!
Подсказка,
Если мы знаем максимум монет левее клетки и выше клетки, то мы можем посчитать максимум в данной, как максимум из клето левее и выше плюс значение в данной клетке.
Если мы знаем максимум монет левее клетки и выше клетки, то мы можем посчитать максимум в данной, как максимум из клето левее и выше плюс значение в данной клетке.
Всем добра!
Я не разберу задачу,пока мне не пришлют верного решения.
А пока дам теории.
Граф - набор вершин и ребер,каждое ребро соединяет две вершины.
Граф бывает направленным, это значит что каждое его ребро имеет направление.
На графах есть два основных алгоритма: обход в ширину (bfs) и глубину(dfs).
Расскажу про каждый алгоритм.
Dfs это алгоритм обхода графа, при котором мы выбираем вершину, ребро и идём из неё по этому ребру, ставя времена входа и выхода из вершины(время выхода это время, когда мы отходим от этой вершины назад).Если больше идти из вершины некуда, то мы возвращаемся на вершину назад.Мы не обнуляем счётчик времени после перехода на новую ветку из главной вершины.
Bfs - алгоритм подобный dfs, но при нем мы обнуляем счётчик времени после перехода на новую глобальную ветку.
Задание:
Написать оба этих алгоритма.
Я не разберу задачу,пока мне не пришлют верного решения.
А пока дам теории.
Граф - набор вершин и ребер,каждое ребро соединяет две вершины.
Граф бывает направленным, это значит что каждое его ребро имеет направление.
На графах есть два основных алгоритма: обход в ширину (bfs) и глубину(dfs).
Расскажу про каждый алгоритм.
Dfs это алгоритм обхода графа, при котором мы выбираем вершину, ребро и идём из неё по этому ребру, ставя времена входа и выхода из вершины(время выхода это время, когда мы отходим от этой вершины назад).Если больше идти из вершины некуда, то мы возвращаемся на вершину назад.Мы не обнуляем счётчик времени после перехода на новую ветку из главной вершины.
Bfs - алгоритм подобный dfs, но при нем мы обнуляем счётчик времени после перехода на новую глобальную ветку.
Задание:
Написать оба этих алгоритма.
Задача(никто не решит)
Найти сумму двух чисел.
Просьба всем прислать решение обязательно.
Найти сумму двух чисел.
Просьба всем прислать решение обязательно.
Значит, ТОЛЬКО ЕСЛИ ВЫ СДЕЛАЛИ ПРЕДЫДУЩЕЕ, сначала сделайте без использования знака + ваабще, а затем без арифметических операций(+,-,*,/,//,**)
Точность 3 знака после запятой.
Точность 3 знака после запятой.
Вы думали это все,нет, я не перестал усложнять.
Все старые ограничения снимаются.Но теперь у нас ограничения на числа: a<10^1000 b<10^1000
Решаем)))
Все старые ограничения снимаются.Но теперь у нас ограничения на числа: a<10^1000 b<10^1000
Решаем)))