М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Мммаксим
Мммаксим
03.04.2021 19:34 •  Информатика

В городе Ж еще не распространены банковские карты, поэтому в автобусах жители рассчитываются обычно наличными. Пассажиры норовят запалить за проезд крупными купюрами, поэтому каждому из них нужно дать ровно N рублей сдачи. Выходя на рейс, кондуктор обнаружил, что у него осталось ровно A рублевых монет и ровно B двухрублевых монет. Определите, какому наибольшему числу пассажиров он сможет выдать N рублей сдачи, используя эти монеты.
Входные данные
Первая строка входных данных содержит целое положительное число N – величину данных. Вторая строка входных данных содержит целое неотрицательное число А – кол-во имеющихся монет в один рубль. Третья строка содержит целое неотрицательное число В – кол-во монет в два рубля.
Выходные данные.
Программа должна вывести единственное целое число – максимальное число пассажиров, которым можно дать сдачу.

👇
Ответ:
Лес333
Лес333
03.04.2021

ответ (Python):

n = int(input())

a = int(input())

b = int(input())

left = 0

right = (a + 2 * b) // n + 2

while right - left > 1:

   mid = (left + right) // 2

   count2 = n // 2 * mid

   count1 = n % 2 * mid

   if a > count1:

       count2 -= (a - count1) // 2

   if count1 <= a and count2 <= b:

       left = mid

   else:

       right = mid

print(left)

Объяснение:

4,8(62 оценок)
Ответ:
Valeri200666
Valeri200666
03.04.2021

n = int(input())

a = int(input())

b = int(input())

left = 0

right = (a + 2 * b) // n + 2

while right - left > 1:

  mid = (left + right) // 2

  count2 = n // 2 * mid

  count1 = n % 2 * mid

  if a > count1:

      count2 -= (a - count1) // 2

  if count1 <= a and count2 <= b:

      left = mid

  else:

      right = mid

print(left)

Объяснение:

4,8(62 оценок)
Открыть все ответы
Ответ:
#include <iostream>
 
using namespace std;
 
int main() {
    cout << "Введите два числа: ";
    double n1,n2;
    cin >> n1 >> n2;
    cout << "Введите знак операции: ";
    char op;
    cin >> op;
    switch(op) {
        case '+':
            cout << n1+n2 << endl;
            break;
        case '-':
            cout << n1-n2 << endl;
            break;
        case '*':
            cout << n1*n2 << endl;
            break;
        case '/':
            cout << n1/n2 << endl;
            break;
        default:
            cout << "wrong operation" << endl;
            break;    }
 
    return 0;
}
4,8(26 оценок)
Ответ:
Clains
Clains
03.04.2021
Проверка существования треугольников не выполняется.
1)
var 
x1,y1,x2,y2,x3,y3,x4,y4:real;
sq1,sq2,sq3,sq4,max:real;
procedure s(a1,b1,a2,b2,a3,b3:real;var sq:real);
var s1,s2,s3,p:real;
begin
s1:=sqrt((a2-a1)*(a2-a1)+(b2-b1)*(b2-b1));
s2:=sqrt((a3-a1)*(a3-a1)+(b3-b1)*(b3-b1));
s3:=sqrt((a3-a2)*(a3-a2)+(b3-b2)*(b3-b2));
p:=(s1+s2+s3)/2;
sq:=sqrt(p*(p-s1)*(p-s2)*(p-s3));
end;
begin
write('x1,y1: '); readln(x1,y1);
write('x2,y2: '); readln(x2,y2);
write('x3,y3: '); readln(x3,y3);
write('x4,y4: '); readln(x4,y4);
s(x1,y1,x2,y2,x3,y3,sq1);
s(x1,y1,x3,y3,x4,y4,sq2);
s(x1,y1,x2,y2,x4,y4,sq3);
s(x2,y2,x3,y3,x4,y4,sq4);
writeln('sq1 = ',sq1:5:2,' sq2 = ',sq2:5:2,' sq3 = ',sq3:5:2,' sq4 = ',sq4:5:2);
if sq1>sq2 then max:=sq1 else max:=sq2;
if sq3>max then max:=sq3;
if sq4>max then max:=sq4;
writeln('max = ',max:5:2);
end.

2)
var 
x1,y1,x2,y2,x3,y3,x4,y4:real;
sq1,sq2,sq3,sq4,max:real;
function s(a1,b1,a2,b2,a3,b3:real):real;
var s1,s2,s3,p:real;
begin
s1:=sqrt((a2-a1)*(a2-a1)+(b2-b1)*(b2-b1));
s2:=sqrt((a3-a1)*(a3-a1)+(b3-b1)*(b3-b1));
s3:=sqrt((a3-a2)*(a3-a2)+(b3-b2)*(b3-b2));
p:=(s1+s2+s3)/2;
s:=sqrt(p*(p-s1)*(p-s2)*(p-s3));
end;
begin
write('x1,y1: '); readln(x1,y1);
write('x2,y2: '); readln(x2,y2);
write('x3,y3: '); readln(x3,y3);
write('x4,y4: ');
readln(x4,y4);
sq1:=s(x1,y1,x2,y2,x3,y3);
sq2:=s(x1,y1,x3,y3,x4,y4);
sq3:=s(x1,y1,x2,y2,x4,y4);
sq4:=s(x2,y2,x3,y3,x4,y4);
writeln('sq1 = ',sq1:5:2,' sq2 = ',sq2:5:2,' sq3 = ',sq3:5:2,' sq4 = ',sq4:5:2);
if sq1>sq2 then max:=sq1 else max:=sq2;
if sq3>max then max:=sq3;
if sq4>max then max:=sq4;
writeln('max = ',max:5:2);
end.

Пример:
x1,y1: -5 1
x2,y2: -3 4
x3,y3: -1 2
x4,y4: -1 0
sq1 =  5.00 sq2 =  4.00 sq3 =  7.00 sq4 =  2.00
max = 7
4,7(54 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ