算法找到正确的答案

时间:2012-09-13 15:03:16

标签: algorithm

我正在为iOS创建一个包含儿童简单任务的数学应用程序。

我的目标是:将用户答案与特定任务中定义的答案进行比较。

例如:用户必须回答问题,例如: 10 + 6 = 16,20 - 2 = 18等......

但我也有用户必须在几个步骤中解决的任务。

例如:Ben跑了5英里。第二天他走了10英里。要回家,他需要步行20英里。问题是 - 他需要多少里程才能回家?

接下来是解决方案:

  1. 5 + 10 = 15
  2. 20 - 15 = 5
  3. 答案:5英里

    好吧,我已经用JSON格式创建了所有任务,现在我可以根据字符串比较用户答案和正确答案。但现在我有点问题。例如,如果我比较完整的字符串,这意味着我不允许用户移动组件。例如,用户可以创建下一个解决方案:

    1. 10 + 5 = 15但他也可以创建另一个变体5 + 10 = 15.
    2. 20 - 15 = 5
    3. 所以,如果我保留所有的答案都没有问题,因为我会分析所有字符串,它将是完美的。但我认为这是用JSON保留所有答案的坏方法(我的意思是所有变体答案)

      但是,也许它只是一种解决方案。你觉得怎么样?

2 个答案:

答案 0 :(得分:0)

如果我们遇到数学问题,可以动态验证答案。

使用javascript

仔细检查用户输入是否与正确答案匹配

您可以使用eval()执行此操作

答案 1 :(得分:0)

好的,所以你不想通过JSON格式传输太多数据。我建议使用括号来确保操作顺序。评估答案以确保它是正确的答案。在服务器上,您可以运行一个脚本来删除数字并将它们放入某些类型的数组列表中。然后检查正确答案中的所有数字是否都在用户提交的字符串中的数字中。如果你只是做加法,那么你的罚款,但如果你引入新的操作,如除法或模数,你需要使用括号通过扩展括号评估每个操作。例如,你会有一个像10+(9 + 2)这样的答案。首先评估9 + 2并确保括号中发生的所有操作都是正确的,然后使用外部操作评估该组括号中的答案。不要在手机上做太多的计算。 祝好运。