За день машина проезжает n километров сколько дней нужно чтобы проехать маршрут длиной m километров

0 / 0 / 0

Регистрация: 09.11.2013

Сообщений: 21

1

09.11.2013, 21:42. Показов 87714. Ответов 12


Помогите решить простую (на первый вздгяд) задачу:
За день машина проезжает n километров. Сколько дней нужно, чтобы проехать маршут длиной m километров?
Программа получает на вход числа n и m.

Примеры

Ввод 700 750
Вывод 2

Ввод 700 2100
Вывод3

Особенность заключается в том, что нельзя использовать условные операторы: только два input()’а и print. Алгоритмика. Да, python.

Добавлено через 36 минут
Извините, гуглом пользоваться так и не научился. Вот: Определить, сколько дней нужно, чтобы проехать маршрут длиной m километров



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

09.11.2013, 21:42

Ответы с готовыми решениями:

Сколько дней нужно, чтобы проехать маршрут длиной m километров?
За день машина проезжает n километров. Сколько дней нужно, чтобы проехать маршрут длиной m…

Определить, сколько дней нужно, чтобы проехать маршрут длиной m километров
Здравствуйте уважаемые программисты! помогите решить ряд задач!
4. За день машина проезжает n…

Определить, сколько дней нужно, чтобы проехать маршрут длиной m километров
Дело в том, что когда я решила эти задачи, я скинула программы на некий сайт…

За день машина проезжает n километров, сколько дней нужно, чтобы проехать маршрут длиной m километров?
За день машина проезжает n километров. Сколько дней нужно, чтобы проехать маршрут длиной m…

12

accept

4864 / 3286 / 468

Регистрация: 10.12.2008

Сообщений: 10,570

09.11.2013, 22:31

2

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>>> def f(n, m):
...     return int((m - 1 + n) / n)
... 
>>> f(700, 0)
0
>>> f(700, 1)
1
>>> f(700, 699)
1
>>> f(700, 700)
1
>>> f(700, 750)
2
>>> f(700, 2100)
3
>>> f(700, 2101)
4
>>>



1



Ses

2 / 2 / 0

Регистрация: 22.08.2013

Сообщений: 38

09.11.2013, 22:42

3

saprol, из поста не понятно вы нашли решение или нет?

Python
1
2
3
4
5
6
def dist(n,m):
    rez=m/n
    a=round(rez+0.5)
    print (a)
 
dist(700,750)

результат: 2



0



4864 / 3286 / 468

Регистрация: 10.12.2008

Сообщений: 10,570

10.11.2013, 00:27

4

Ses,
для 700, 700 возвращает 2



0



Ses

2 / 2 / 0

Регистрация: 22.08.2013

Сообщений: 38

10.11.2013, 11:31

5

Цитата
Сообщение от accept
Посмотреть сообщение

Ses,
для 700, 700 возвращает 2

Правы! Начал тестить сам увидел что облажался, пытался исправить нов форум почему-то висел.

странно но функция round() при 0,5 возвращает 0, а при 1,5 -2; уменьшил коэффициент до 0,4999 ))))

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def dist(n,m):
    rez=m/n
    a=round(rez+0.4999)
    print (a)
 
dist(700,699)
выводит 1
dist(700,700)
выводит 1
dist(700,750)
2
dist(700,2100)
3
dist(700,2101)
4



0



TyomaR

26 / 26 / 4

Регистрация: 05.08.2013

Сообщений: 20

20.11.2013, 17:17

6

Python
1
2
3
n=int(input())
m=int(input())
print ((m+n-1)//n)



2



SGI

0 / 0 / 0

Регистрация: 28.11.2019

Сообщений: 3

28.11.2019, 16:15

7

Python
1
2
3
4
5
6
n = int(input())
m = int(input())
if m % n == 0:
    print(m // n)
else:
    print ((m // n) + 1)



0



launits

0 / 0 / 0

Регистрация: 19.05.2020

Сообщений: 1

19.05.2020, 16:04

8

решение используя только целочисленное деление и остаток от деления:

Python
1
2
3
4
5
km_day=int(input("километров в день "))
km_route=int(input("длина маршрута "))
days=km_route//km_day
days=days+days//days
print("дней для прохождения маршрута", days)



0



Вадим Тукаев

305 / 286 / 116

Регистрация: 23.01.2018

Сообщений: 933

20.05.2020, 10:59

9

Python
1
2
3
4
from math import ceil
 
n, m = map(float, input().split(maxsplit=1))
print(ceil(m / n))



0



0 / 0 / 0

Регистрация: 13.06.2020

Сообщений: 2

13.06.2020, 15:54

10

Цитата
Сообщение от saprol
Посмотреть сообщение

Особенность заключается в том, что нельзя использовать условные операторы: только два input()’а и print. Алгоритмика. Да, python.

Код

import math
n=int(input())
m=int(input())
print(math.ceil(m/n))



0



0 / 0 / 0

Регистрация: 26.08.2020

Сообщений: 3

29.12.2020, 04:44

11

При данных 700 и 2100 возвращает 4 дня, что является ошибкой.



0



Вадим Тукаев

305 / 286 / 116

Регистрация: 23.01.2018

Сообщений: 933

29.12.2020, 08:18

12

Python
1
2
n, m = map(int, input().split(maxsplit=1))
print((m + n - 1) // n)



0



AleksAS_

0 / 0 / 1

Регистрация: 04.06.2021

Сообщений: 1

04.06.2021, 14:03

13

Лучший ответ Сообщение было отмечено КулХацкеръ как решение

Решение

Python
1
2
3
4
n=int(input())
m=int(input())
d=(-m)//n
print(-d)

(Использование только целочисленного деления)



0



Skip to content

Задача «Автопробег»

Условие

За день машина проезжает n километров. Сколько дней нужно, чтобы проехать маршрут длиной m километров?

Программа получает на вход числа n и m.

Решение задачи от разработчиков на Python:

Другие интересные реализации задачи:

Смотреть видео — Задача «Автопробег» решение на Python

Делитесь с друзьями ссылкой на ответ и задавайте вопросы в комментариях! 👇

Related Posts

Посмотреть все комментарии

wpDiscuz

2

Оставьте комментарий! Напишите, что думаете по поводу статьи.x
Doesn’t show model window


14th March, 22:20


63


0

прокидывать exception в блоках try-catch JAVA


11th March, 21:11


89


0

Пишу BAS-скрипты на запросах для несложных сайтов и Android-приложений.


9th February, 17:04


267


0

Помогите пожалуйста решить задачи


24th November, 23:53


776


0

Не понимаю почему не открывается детальное описание продукта


11th November, 11:51


318


0

Пишу скрипты для BAS только на запросах


8th November, 10:38


347


0

Как поднять свой VPN на Android?


4th November, 17:09


382


1

Нужно решить задачу по программированию на массивы


27th October, 18:01


536


0

Метода Крамера С++


23rd October, 11:55


411


0

помогите решить задачу на C++


22nd October, 17:31


417


0

Помогите решить задачу на python с codeforces


22nd October, 11:11


539


0

Generate Additional Engagement Image Masking Service


5th July, 07:34


641


0

Join Us Today Ghost Mannequin Effect Service


5th July, 07:10


827


0

Python с нуля


18th June, 13:58


723


0

Its Urban Malaysia Phone Number List Exceeds 


21st April, 08:09


855


1

橱柜并烤 手机号码 了一个纸杯蛋糕之后


6th April, 13:05


499


0

middleware которое будет возвращать ошибку если за последние n секунд было больше k запросов c одного ip адреса


16th March, 14:11


1616


0

codeignite. Посчитать count имея две таблицы.


13th March, 20:56


670


1

Все вопросы

Решение задачи Автопробег с Яндекс Контест

Без пояснения
 
Просмотров:
2144


За день машина проезжает N километров. Сколько дней нужно, чтобы проехать маршут длиной M километров?

Задача A. Гипотенуза 
Дано два числа a и b. Выведите гипотенузу треугольника с заданными катетами.

  1. double a,b;
  2. cin>> a>>b;
  3. double c= sqrt(a*a+b*b);
  4. printf("%0.7f",c);

* This source code was highlighted with Source Code Highlighter.

Используем команду printf для задания большей точности дробного результата, т.к cout по умолчанию выдает лишь 5 цифр после запятой, что вызывает ошибку в WA #2.

Задача B. Следующее и предыдущее
Напишите программу, которая считывает целое число и выводит текст, аналогичный приведенному в примере. Пробелы, знаки препинания, заглавные и строчные буквы важны!

Способ 1

  1. int a;
  2. cin>>a;
  3. cout<<"The next number for the number "<<a<< " is "<< a+1<<"." <<endl;
  4. cout<<"The previous number for the number "<< a<< " is "<< a-1<<"." <<endl;

* This source code was highlighted with Source Code Highlighter.

Способ 2

  1. int a;
  2. cin>>a;
  3. printf("The next number for the number %d is %d.n",a,a+1);
  4. printf("The previous number for the number %d is %d.",a,a-1);

* This source code was highlighted with Source Code Highlighter.

Задача C. Дележ яблок – 1
N школьников делят K  яблок поровну, неделяющийся остаток остается в корзинке. Сколько яблок достанется каждому школьнику? Программа получает на вход числа
Nи K и должна вывести искомое количество яблок.

  1. int n,k;
  2. cin>>n>>k;
  3. cout<<k/n;

* This source code was highlighted with Source Code Highlighter.

 Задача D. Дележ яблок – 2
N школьников делят K яблок поровну, неделяющийся остаток остается в корзинке. Сколько яблок останется в корзинке? Программа получает на вход числа N и K и должна вывести искомое количество яблок.

  1. int n,k;
  2. cin>>n>>k;
  3. cout<<k%n;

* This source code was highlighted with Source Code Highlighter.

Задача E. МКАД
Длина Московской кольцевой автомобильной дороги —109 километров. Байкер Вася стартует с нулевого километра МКАД и едет со скоростью vкилометров в час. На какой отметке он остановится через t часов? Программа получает на вход значения v и t. Если v>0, то Вася движется в положительном направлении по МКАД, если же значение v<0, то в отрицательном.
Программа должна вывести целое число от 0 до 108 — номер отметки, на которой остановится Вася.

  1. int v,t,s;
  2. cin>>v>>t;
  3. s=v*t%109;
  4. cout<<(s+109)%109;

* This source code was highlighted with Source Code Highlighter.

Задача F. Последняя цифра 
Дано натуральное число. Выведите его последнюю цифру.

  1. int n;
  2. cin>>n;
  3. cout<<n%10;

* This source code was highlighted with Source Code Highlighter.

Задача G. Число десятков двузначного числа
Дано двузначное число. Найдите число десятков в нем.

  1. int n;
  2. cin>>n;
  3. cout<<n/10;

* This source code was highlighted with Source Code Highlighter.

Задача H. Число десятков
Дано натуральное число. Найдите число десятков в его десятичной записи (то есть вторую справа цифру его десятичной записи).

  1. int n;
  2. cin>>n;
  3. cout<<n/10%10;

* This source code was highlighted with Source Code Highlighter.

Задача I. Сумма цифр
Дано трехзначное число. Найдите сумму его цифр.

  1. int n;
  2. cin>>n;
  3. cout<<n%10+n/10%10+n/100%10;

* This source code was highlighted with Source Code Highlighter.

Задача J. Следующее четное
Дано целое число n. Выведите следующее за ним четное число. При решении этой задачи нельзя использовать условную инструкцию if и циклы.

  1. int n;
  2. cin>>n;
  3. cout<<n+2-n%2;

* This source code was highlighted with Source Code Highlighter.

Задача L. Электронные часы – 1
Дано число n. С начала суток прошло n минут. Определите, сколько часов и минут будут показывать электронные часы в этот момент. Программа должна вывести два числа: количество часов (от 0 до 23) и количество минут (от 0 до 59). Учтите, что число n может быть больше, чем количество минут в сутках.

  1. int n;
  2. cin>>n;
  3. cout<<n/60%24<<" "<<n%60;

* This source code was highlighted with Source Code Highlighter.

Задача M. Электронные часы – 2
Электронные часы показывают время в формате h:mm:ss, то есть сначала записывается количество часов, потом обязательно двузначное количество минут, затем обязательно двузначное количество секунд. Количество минут и секунд при необходимости дополняются до двузначного числа нулями.
С начала суток прошло n секунд. Выведите, что покажут часы.

  1. int n,h,m,s;
  2. cin>>n;
  3. h=n/60/60%24;
  4. m=n/60%60;
  5. s=n%60;
  6. printf("%d:%0.2d:%0.2d",h,m,s);

* This source code was highlighted with Source Code Highlighter.

Т.к. по условию задачи формат вывода минут и секунд обязательно двухцифровой, а формат вывода часов не обозначен, то в printf для параметра h пропускаем формат 0.2, а для m и s устанавливаем.

Задача N. Обмен значений
Напишите программу, которая считывает значения двух переменных a и b, затем меняет их значения местами (то есть в переменной a должно быть записано то, что раньше хранилось в b, а в переменной b записано то, что раньше хранилось в a). Затем выведите значения переменных.

  1. int a,b,tmp;
  2. cin>>a>>b;
  3. tmp=a;
  4. a=b;
  5. b=tmp;
  6. cout<<a<<' '<<b;

* This source code was highlighted with Source Code Highlighter.

Задача O. Конец уроков
В некоторой школе занятия начинаются в 9:00. Продолжительность урока — 45 минут, после 1-го, 3-го, 5-го и т.д. уроков перемена 5 минут, а после 2-го, 4-го, 6-го и т.д. — 15 минут.
Дан номер урока (число от 1 до 10). Определите, когда заканчивается указанный урок. Выведите два целых числа: время окончания урока в часах и минутах. При решении этой задачи нельзя пользоваться циклами и условными инструкциями.

  1. int n,k;
  2. cin>>n;
  3. k=n*45+n/2*5+(n-1)/2*15;
  4. cout<<9+k/60<<' '<<k%60;

* This source code was highlighted with Source Code Highlighter.

Задача P. Стоимость покупки
Пирожок в столовой стоит a рублей и b копеек. Определите, сколько рублей и копеек нужно заплатить за n пирожков. Программа получает на вход три числа: a, b, n и должна вывести два числа: стоимость покупки в рублях и копейках.

  1. int a,b,n;
  2. cin>>a>>b>>n;
  3. a=a*n;
  4. b=b*n;
  5. cout<<a+b/100<<' '<<b%100;

* This source code was highlighted with Source Code Highlighter.

Задача Q. Разность времен
Даны значения двух моментов времени, принадлежащих одним и тем же суткам: часы, минуты и секунды для каждого из моментов времени. Известно, что второй момент времени наступил не раньше первого. Определите, сколько секунд прошло между двумя моментами времени. Программа на вход получает три целых числа — часы, минуты, секунды, задающие первый момент времени и три целых числа, задающих второй момент времени. Выведите число секунд между этими моментами времени.

  1. int h1,m1,s1,h2,m2,s2;
  2. cin>>h1>>m1>>s1>>h2>>m2>>s2;
  3. s1=h1*60*60+m1*60+s1;
  4. s2=h2*60*60+m2*60+s2;
  5. cout<<s2-s1;

* This source code was highlighted with Source Code Highlighter.

Задача R. Автопробег
За день машина проезжает n километров. Сколько дней нужно, чтобы проехать маршрут длиной m километров? Программа получает на вход числа n и m.
При решении этой задачи нельзя пользоваться условной инструкцией if и циклами.

1 способ

  1. int n,m;
  2. cin>>n>>m;
  3. cout<<m/n+(m%n+n-1)/n;

* This source code was highlighted with Source Code Highlighter.

Выражение (m%n+n-1)/n выведено искусственно с целью приведения автопробега в последний неполный день к 1 ( если m%n!=0) или к 0 (если m%n==0).

2 способ

  1. int n,m;
  2. cin>>n>>m;
  3. cout<<m/n+1%(m%n+1);

* This source code was highlighted with Source Code Highlighter.

В данном случае к значение m%n приведет к 1 выражение  1%(m%n+1).

Задача S. Дележ яблок – 3
n школьников делят k яблок “поровну”, то есть так, чтобы количество яблок, доставшихся любым двум школьникам, отличалось бы не более, чем на 1. Программа получает на вход числа n и k и должна вывести количество школьников, которым достанется яблок меньше, чем некоторым из их товарищей. При решении этой задачи нельзя пользоваться условной инструкцией if и циклами.

  1. int n,k;
  2. cin>>n>>k;
  3. cout<<(n-k%n)%n;

* This source code was highlighted with Source Code Highlighter.

Последнее деление %n приведет к нулю, если яблок досталось поровну.

 
Задача T. Улитка
Улитка ползёт по вертикальному шесту высотой h метров, поднимаясь за день на a метров, а за ночь спускаясь на b метров. На какой день улитка доползёт до вершины шеста? Программа получает на вход натуральные числа h, a, b и должна вывести одно натуральное число. Гарантируется, что a>b.
При решении этой задачи нельзя пользоваться условной инструкцией if и циклами.

  1. int h,a,b,shag,h0;
  2. cin>>h>>a>>b;
  3. h0=h-a;
  4. shag=a-b;
  5. cout<<1+h0/shag+(h0%shag+shag-1)/shag;

* This source code was highlighted with Source Code Highlighter.

Задача U. Симметричное число
Дано четырехзначное число. Определите, является ли его десятичная запись симметричной. Если число симметричное, то выведите 1, иначе выведите любое другое целое число. Число может иметь меньше четырех знаков, тогда нужно считать, что его десятичная запись дополняется слева незначащими нулями.
При решении этой задачи нельзя пользоваться условной инструкцией if и циклами

  1. int n;
  2. cin>>n;
  3. int ch1,ch2;
  4. ch1=n/100;
  5. ch2=n%100;
  6. ch2=ch2%10*10+ch2/10
  7. cout<<ch1-ch2+1;

* This source code was highlighted with Source Code Highlighter.

Задача V. Проверьте делимость
Даны два натуральных числа n и m. Если одно из них делится на другое нацело, выведите 1, иначе выведите любое другое целое число.
При решении этой задачи нельзя пользоваться условной инструкцией if и циклами.

  1. int n,m;
  2. cin>>n>>m;
  3. int a1,a2;
  4. a1=n%m;
  5. a2=m%n;
  6. cout<<a1*a2+1;

* This source code was highlighted with Source Code Highlighter.

Задача W. Максимум
Напишите программу, которая считывает два целых числа a и b и выводит наибольшее значение из них. Числа — целые от 1 до 1000.
При решении задачи можно пользоваться только целочисленными арифметическими операциями +, -, *, //, %, =. Нельзя пользоваться нелинейными конструкциями: ветвлениями, циклами, функциями вычисления модуля, извлечения квадратного корня.

Permalink

Cannot retrieve contributors at this time


This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters

Show hidden characters

# Задача №2953. Автопробег
# За день машина проезжает n километров. Сколько дней нужно, чтобы проехать маршрут длиной m километров?
#
# При решении этой задачи нельзя пользоваться условной инструкцией if и циклами.
#
# Входные данные
# Программа получает на вход числа n и m.
#
# Выходные данные
# Выведите ответ на задачу.
#
# Примеры
# входные данные
# 700
# 750
# выходные данные
# 2
# входные данные
# 700
# 2100
# выходные данные
# 3
import math
n = int(input())
m = int(input())
# 1
print(math.ceil(m/n))
# 2
print(m//n + 1%(m%n + 1))

komarikomarik

+10

Решено

6 лет назад

Информатика

5 — 9 классы

ЗАДАЧА, ПИТОН
За день машина проезжает n километров. Сколько дней нужно, чтобы проехать маршрут длиной m километров? Программа получает на вход числа n и m.

Смотреть ответ


Ответ проверен экспертом

2
(4 оценки)

0

BrightOne
6 лет назад

Светило науки — 612 ответов — 1793 помощи

# Python 3.X

from math import ceil
n, m = [int(input(x + ‘ = ‘)) for x in [‘n’, ‘m’]]
print(‘Ответ:’, ceil(m / n))

(4 оценки)

Остались вопросы?

Задай вопрос

Найди нужный

Новые вопросы по предмету Математика

Напишите функцию которая будет принимать 1 параметр это число: Проверять чётное или не чётное это число и выводить сообщение Это чётное число, …

Даю 100 балів!!! 1)Створіть проект з вікном 400×300 пікселів у якому розмістіть дві кнопки та напис. 2)Установіть такі значення властивостей пе …

3.Выберите условие, используемое для определения нечётности числа: a%2==2 a%2==0 a%2==1 a%2!=0​

помогите пожалуйста срочно​

4. Каким будет результат при выполнении программы, А=2 b=2 if a&gt;1 or a a=2 b=2 b+=7 if a&gt;1 or a==b: b+=4 print(b) ПОМОГИТЕ ПРОШУУУУ

https://vashotvet.com/task/4079085

Понравилась статья? Поделить с друзьями:
  • За счет чего логистическая компания cainiao доставляет товары быстрее российских поставщиков ответы
  • За счет чего логистическая компания cainiao доставляет товары быстрее российских поставщиков степик
  • Забайкальский фонд капитального ремонта многоквартирных домов официальный сайт реквизиты для оплаты
  • Законом установлена максимальная продолжительность сверхурочных работ в год в размере скольки часов
  • Занятие бизнесом становится все более привлекательным для значительной части молодых россиян кратко