ML10

Задача

Три сопротивления [latex]{R}_{1}{,R}_{2},{{R}_{3}}[/latex] соединены параллельно. Найти сопротивление цепи.

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

В единственной строке задано три числа — сопротивления трех резисторов.

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

Вывести число — сопротивление цепи.

Код

 

Тесты

Входные данные Выходные данные
1 1 2 3 0.545
2 2 2 2 0.667
3 12 7 8 2.847
4 2 3 6 1
5 0.2 0.5 0.7 0.119

Решение

Сначала задаем 3 переменные, которые мы вводим с клавиатуры — напряжение на каждом резисторе.  Находим сопротивление цепи по формуле [latex]\frac{{R}_{1}\cdot {R}_{2}\cdot {{R}_{3}}}{{R}_{1}\cdot{R}_{2}+{R}_{1}\cdot {R}_{3}+{R}_{2}\cdot {R}_{3}}[/latex]. Затем округляем до 3 точек после запятой используя библиотеку [latex]cmath[/latex] и функцию [latex]round[/latex].

Ссылка на код  здесь.

Related Images:

8 thoughts on “ML10

  1. — Вы не привели условие задачи полностью.
    — «ML10″ не является ключевым словом.
    — Не нужно выполнять проверку корректности введенных данных. В данном случае.
    — А если проверяете, то сообщение об этом нужно отправлять в cerr, а не в cout.
    — Вас ничего не смущает в этой части кода » * 1000) / 1000″?
    — Сделайте обозначения такими как в условии задачи [latex]R_1, R_2, R_3[/latex]
    — Почему у Вас сопротивление не может равняться нулю?

    • Спасибо за замечания. Сопротивление не может равняться нулю потому, что в формуле используется «деление на сопротивление.» round(a*1000)/1000 — округление до 3-х знаков после запятой.

    • То, что Вы делите на ноль проблема Вашей формулы, а не недостаток устройства мира. Вы ведь не станете отрицать наличие проводников? Без них не работал бы Ваш компьютер. А есть ещё и сверхпроводники.
      Я хочу сказать, что нужно поставить закрывающую скобку в формуле и упростить полученное выражение. Глядишь — делить и не придётся.

    • Формулу исправил. Теперь правильно?

  2. – Вы не привели условие задачи полностью.
    – Сделайте обозначения такими как в условии задачи [latex]R_1, R_2, R_3[/latex]
    — Единственную формулу нужно записать именно как формулу. Т.е. R=… Используйте нижние индексы, математический знак умножения, а не «звёздочку», черту дроби и т.п.
    — По округлению. Можно оставить как есть или использовать cout.precision(3);
    — В таблице тестов пропущен №4
    — Нет ссылки на код в ideone.com или cpp.sh.

Добавить комментарий