Способ получить математический ответ в виде дроби - PullRequest
0 голосов
/ 07 августа 2009

Я пытаюсь написать программу, которая поможет кому-то учиться математике GRE. Как многие из вас могут знать, дроби являются большой частью теста, и калькуляторы не допускаются. По сути, я хочу создать четыре случайных числа (скажем, 1-50) и либо + + / * их, а затем принять ответ в формате дроби. Случайное число легко. Проблема в том, как я могу: 1) принять дробный ответ и 2) убедиться, что ответ полностью уменьшен?

Я пишу в ASP.NET (или jQuery, если этого будет достаточно). Мне было очень интересно, есть ли какая-нибудь библиотека или что-то, что обрабатывает такие вещи ...

Спасибо!

Ответы [ 3 ]

1 голос
/ 07 августа 2009
0 голосов
/ 10 августа 2009

Изучите Python и попробуйте fractions модуль.

0 голосов
/ 07 августа 2009

Поскольку дроби по существу являются делениями, вы можете проверить, является ли ответ частично правильным, выполнив деление на введенных вами дробных записях.

[pseudocode]
if (answer.contains("/"))
  int a = answer.substring(1,answer.instanceof("/"))
  int b = answer.substring(answer.instanceof("/"))
if (a/b == expectedAnswer)
  if (gcd(a,b) == 1)
    GOOD!
  else
    Not sufficiently reduced
else
  WRONG!

Чтобы выяснить, полностью ли она уменьшена, создайте функцию GCD, которая должна оценивать значение знаменателя, предоставленного пользователем в качестве ответа.

...