Задачи на python

Тема в разделе "Perl, Python, Ruby", создана пользователем I-Mixail, 1 окт 2015.

  1. I-Mixail

    I-Mixail Создатель

    Регистр.:
    13 янв 2014
    Сообщения:
    33
    Симпатии:
    16
    Всем привет! Прошу помощи в решении интересной задачи на python:
    Имеются вот такие данные учеников:
    Вот такой должен быть ответ:
    Без функций и условий!
    Я сделал так:
    Код:
    a = int(input())
    b = int(input())
    c = int(input())
    print(((a + b + c) // 2)  + ((a + b + c) % 2))
    
    Взято тут: _pythontutor.ru/lessons/inout_and_arithmetic_operations/problems/desks/
     
  2. artemnv

    artemnv Создатель

    Регистр.:
    10 окт 2015
    Сообщения:
    25
    Симпатии:
    8
    мне кажется можно проще и понятнее)
    a = int(input())
    b = int(input())
    c = int(input())
    print((a+1)//2 + (b+1)//2 + (c+1)//2)
     
    I-Mixail нравится это.
  3. eretic

    eretic Писатель

    Регистр.:
    22 апр 2012
    Сообщения:
    9
    Симпатии:
    0
    как сравнить 2 индексированых массива на предмет совпадения значений, при котором элемент0 первого массива сравнивается с элемнтом0 второго массива и т.д. А затем указывается количество совпадений?
     
  4. nsd_net

    nsd_net Создатель

    Регистр.:
    12 июл 2009
    Сообщения:
    26
    Симпатии:
    7
     
  5. Hutton

    Hutton Создатель

    Регистр.:
    28 янв 2016
    Сообщения:
    48
    Симпатии:
    33
    Код:
    print(((a + b + c) // 2)  + ((a + b + c) % 2))
    
    Не верное решение. Когда нечетное кол-во учеников в двух или трех классах, теряется парта и кому-то прийдеться сидеть на полу.

    Или так :
    Код:
    print(a // 2 + a % 2 + b // 2 + b % 2 + c // 2 + c % 2)
    или как artemnv показал:
    Код:
    print((a+1)//2 + (b+1)//2 + (c+1)//2)
     
    I-Mixail и NULLED555 нравится это.
  6. suphler

    suphler Создатель

    Регистр.:
    3 мар 2016
    Сообщения:
    42
    Симпатии:
    7
    Красиво, не спорю.
    Но, если это учебная задачка для начинающего, то не стоит так сразу ломать ему мозг и вызывать подозрения у препода.
    Можно написать по старинке, просто и наглядно:
    Код:
    for i in range(len(x)):
      if x[i] == y[i]: counter++
     
  7. xcoder007

    xcoder007 Создатель

    Регистр.:
    7 фев 2016
    Сообщения:
    17
    Симпатии:
    0
    Код:
    var
      a,b,c:integer;
    begin
      readln(a,b,c);
      writeln(round(a/2+0.1)+round(b/2+0.1)+round(c/2+0.1));
    end.
    или
    Код:
    writeln((a + 1) div 2 + (b + 1) div 2 + (c + 1) div 2);
     
  8. santaatnas

    santaatnas Создатель

    Регистр.:
    14 янв 2016
    Сообщения:
    16
    Симпатии:
    1
    а при чем здесь var? здесь речь о питоне идет, у него динамическая типизация...
     
  9. qwer75

    qwer75 Постоялец

    Регистр.:
    16 июл 2009
    Сообщения:
    90
    Симпатии:
    28
    Код:
    a = int(input())
    b = int(input())
    c = int(input())
    print(a // 2 + a % 2 + b // 2 + b % 2 + c // 2 + c % 2)