Главная страница
Навигация по странице:

  • INPUT.TXT OUTPUT.TXT

  • Входные данные

  • Выходные данные

  • Для начинающих на С. Составители


    Скачать 1.31 Mb.
    НазваниеСоставители
    Анкорisakova-zarina@mail.ru
    Дата18.02.2023
    Размер1.31 Mb.
    Формат файлаdocx
    Имя файлаДля начинающих на С .docx
    ТипЗадача
    #943648
    страница25 из 38
    1   ...   21   22   23   24   25   26   27   28   ...   38

    Задача 60 (№ 947) Карточки – 3 (Сложность: 22%)


    Студент-первокурсник Антон никак не может понять странную формулу

    1/2 + 1/3 + 1/4 + ... + 1/n + ... → бесконечность

    Хорошо, что у Антона есть друг Васька, который отлично знает математику. Вот и придумал Васька, как Антошке объяснить эту самую бесконечность. Взял колоду карт и стал раскладывать карты на столе. Если есть одна карта, она нависает над столом на 1/2 длины карты. Если есть две карты, то верхняя нависает над нижней на 1/2 длины карты, а нижняя - нависает над столом на 1/3 длины. В итоге получается нависание 1/2+1/3=5/6. А если у нас есть N карт, то длина нависающей части уже 1/2+1/3+1/4+...+1/N. И стал Васька с Антоном в такую игру играть: Антон называет какое-нибудь число, а Вася называет минимальное количество карт, которое нужно положить, чтобы длина нависающей части была бы не меньше этого числа.

    Напишите программу, которая помогает Васе каждый раз давать правильный ответ.


    Входные данные. Входной файл INPUT.TXT содержит единственное положительное число X - длина нависающей части. Число X задано с двумя знаками после запятой и 0.01 ≤ x < 10.00.




    INPUT.TXT

    OUTPUT.TXT

    1

    1.00

    3 card(s)

    2

    3.71

    61 card(s)

    3

    0.04

    1 card(s)

    4

    5.19

    273 card(s)
    Выходные данные. В выходной файл OUTPUT.TXT выведите ответ на задачу по формату, приведенному в примерах.

    #include

    using namespace std;

    int main(){

    double n,s,i;

    cin>>n ;

    s=0.5; i=2;

    while (s
        i++;

        s+=(1/i); }

    cout<
    return 0; }


    Задача 61 (№ 760) Транспорт (Сложность: 24%)


    Все автовладельцы рано или поздно встречаются с инспекторами ГИБДД. Ваша задача состоит в том, чтобы рассчитать минимальное время прохождения автомобилем прямого участка дороги, на котором стоят инспекторы. Известно, что на данном участке инспекторы останавливают все проезжающие мимо автомобили. Примем следующие допущения: автомобили являются материальными точками, которые могут мгновенно останавливаться или набирать максимальную скорость. Автомобиль начинает свой путь в точке 0 и заканчивает его в точке L.

    Входные данные




    INPUT.TXT

    OUTPUT.TXT

    1

    3 60 45
    0 5 25 5 40 5

    60.00

    2

    2 78 150
    2 10 78 1

    126.38
    Первая строка входного файла INPUT.TXT содержит три числа: N – количество инспекторов (0 ≤ N ≤ 30), V – максимальная скорость автомобиля (км/ч) и L – длина участка дороги (км) (1 ≤ V, L ≤ 200). Вторая строка содержит N пар чисел xi – расстояние от точки 0 до инспектора (0 ≤ xi ≤ L) и ti – время (мин), на которое он останавливает машину (1 ≤ ti ≤ 10). Все инспектора стоят в разных точках. Все числа во входных данных целые.

    Выходные данные

    В выходной файл OUTPUT.TXT выведите время преодоления участка дороги автомобилем в минутах с точностью до двух знаков после запятой (вещественное число с ровно двумя цифрами после запятой).

    #include

    using namespace std;

    int main() {

    int n, x ;

    float v, l, t, c;

    cin >> n >> v >> l;

    c = 0;

    for (int i = 0; i < n; i++) {

    cin >> x>>t;

    c=c+t; }

    t=(l / v) * 60 + c;

    printf("%.2f", t);

    return 0; }



    Условие задачи содержит лишние данные (расстояние от точки 0 до инспектора).
    Достаточно посчитать время задержки машины инспекторами и прибавить время прохождения всего участка в минутах t=(l / v) * 60.
    printf("%.2f", t); - вывод вещественного числа с двумя знаками после запятой.

    1   ...   21   22   23   24   25   26   27   28   ...   38


    написать администратору сайта