Ю1.7

Задача: Селекция. Селекционер вывел новый сорт зерновой культуры и снял с опытной делянки [latex]k[/latex]  кг семян. Посеяв 1 кг семян, можно за сезон собрать [latex]p[/latex] кг семян. Через сколько лет селекционер сможет засеять новой культурой поле площадью [latex]s[/latex] га, если норма высева [latex]n[/latex] кг/га?

Тесты:

k p s n result
1 1 1 1 error
1 2 3 4 2
 3.5 11 56 3.77 1
 34 55.4 109 31.456 error

Исходный  код программы:

Версия кода на языке Java:

Ссылка:http://ideone.com/2TY3PH

Программы вычисляет результат по найденной формуле:

                [latex]\frac{log(\frac{(n \times s)}{k})}{log(p)}[/latex]

Поскольку используется функция логарифма, необходимо включить заголовок math библиотеки математических функций.

 

Программа состоит из следующих частей:

  1. Объявление переменных k,p,s,n типа float для хранения входных данных
  2. Вывод приветствия
  3. Ввод пользователем значений переменных k,p,s,n с помощью scanf
  4.  Вывод исходных данных
  5. Вычисление и вывод результата по формуле с предварительной проверкой значения p, которое не должно равняться 1, так как находиться в формуле под логарифмом.
  6. Завершение программы

 

Программа проверялась по таблице наборов входных данных. Некоторые наборы содержали неправильное значение p = 1. Для этих значений программа выдала предусмотренное сообщение об ошибке. Для правильны данных результат совпал с вычисленным вручную.

Швандт Максим Альбертович
Швандт Максим Альбертович

Latest posts by Швандт Максим Альбертович (see all)

7 thoughts on “Ю1.7

  1. Пожалуйста, используйте laTex там, где нужны формулы.
    Найдите кнопку для списков и не ставьте номера вручную — Вы сделали абзацы вместо списка.
    Урожай нельзя собрать за 0.456 сезона — он ещё не созрел.
    Уберите точку после «Ю» в названии

  2. Для дробей в laTeX нужно использовать специальную команду fraction (есть кнопочка с дробью в редакторе).
    С нецелым количеством лет Вы так и не разобрались? Всё очень просто. Считается, что один раз в год (например, первого августа) собирают урожай. И никак иначе. Даже если Вам достаточно половины урожая, его нельзя собрать в феврале.
    Максим, ну только представьте: комбайнеры зимой под снегом наивно пытаются найти половину урожая! Это как школьные полтора землекопа! Так не бывает. Исправьте это в таблице тестов, пожалуйста.

    • Тесты исправлены в соответствии с новым кодом программы. Теперь программа выдает только целое число лет ( обрезает результат )- к примеру : 1,70015… — вместо него выдаёт — 1.

  3. Засчитана Java версия.

    Единственное замечание: С++ версия и Java выдают разные ответы на тесте
    1 2 3 4 : Java — ответ 3, а С++ — как указано в таблице — ответ 2.

    А все потому, что эквивалентом кода

    будет код

    т.е. с внешними скобками — и вроде этот обновленный вариант более логичный (впрочем не хочу углубляться в исходную прошлогоднюю задачу дальше).

    • Еще небольшое замечание — выбирайте язык Java для инструмента Crayon (карандаш).
      Посмотрите в моем комментарии — если подвести курсор к верхней строке — будет язык Java (в коде тега pre можно указать lang=»java» ).

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