День 6 моего путешествия по изучению Python
- Сегодня я решил 8 задач codeforces:
- Задача-791А: Медведь и Большой Брат: Это простая математическая задача. Я использовал цикл while, чтобы продолжать умножать оба, пока а не станет больше, чем b.
c=0 while True: c+=1 a=a*3 b=b*2 if a>b: print(c) break
2. Задача-546А: Солдат и бананы: Сначала я думал, что солдат всегда будет занимать деньги. Поэтому я продолжал вычитать цену из баланса. В конце концов, я умножил это на -1. Но это не тот случай. Возможно, ему и не нужно занимать деньги. Я даю обе свои попытки решить эту проблему.
- Неверно:
for i in range(1,w+1): cb=k*i n-=cb print(n*(-1))
- Верно:
for i in range(1,w+1): cb=k*i n-=cb if n>0: print(0) else: print(n*(-1))
3. Задача-617А: Слон: я проверил, если x≥5 равен 1. Например, если x ≥ 5, я подсчитал, сколько раз я могу разделить x на 5, и прибавил к счету шагов. Затем я обновил значение x.
while a!=0: if a>=5: h=a//5 a=a-(5*h) c+=h elif a>=4: h=a//4 a=a-(4*h) c+=h
4. Задача-69А: Юный физик: Я взял 3 переменные (x,y,z) для хранения суммы каждой координаты. Наконец, я проверил, равны ли x, y и z нулю или нет.
a=int(input()) x=0 y=0 z=0 for i in range(a): arr=input().split() x+=int(arr[0]) y+=int(arr[1]) z+=int(arr[2]) if x==0 and y==0 and z==0: print("YES") else: print("NO")
5. Задача- 59A: Word: В этой задаче я использовал функции ord(), upper() и lower(). Функция ord() даст нам ASCII-код заданного символа. Я прошел через строку и проверил каждый элемент, является ли он строчной или прописной буквой, используя функцию ord(). Затем, если это строчная буква, я добавил ее в новую строку. Я следовал тому же для заглавных букв. В конце концов я проверил длину обеих новых строк и изменил буквы.
a=input() uc="" lc="" for i in a: if ord(i)>=97 and ord(i)<=122: lc+=i if ord(i)>=65 and ord(i)<=90: uc+=i if len(uc)>len(lc): a=a.upper() print(a) else: a=a.lower() print(a)
6. Задача- 96А: Футбол: Здесь я реализовал нарезку строк.
def task(a): i=0 c=1 while a!='' and i+1<len(a): if a[i]==a[i+1]: c+=1 i+=1 if c==7: print("YES") return else: if i>=len(a): break a=a[i+1:] c=1 i=0 print("NO") a=input() task(a)
7. Задача-977A: Неправильное вычитание: я преобразовал 'n' в строку и использовал отрицательную индексацию для проверки последней цифры.
for i in range(k): m=str(n) if m[-1]=="0": n//=10 else: n-=1 print(n)
8. Задача-110A: Почти счастливое число: я использовал функцию count() для подсчета вхождений 7 и 4. После добавления общего количества, если оно равно 4 или 7, я напечатал ДА или НЕТ .