我试图检查一个字符串(重要的是它是一个字符串)即时阅读是否符合ISBN-13的规则 .我找到了一个公式
例如,ISBN-13校验位为978-0-306-40615-?
计算方法如下:
s = 9×1 + 7×3 + 8×1 + 0×3 + 3×1 + 0×3 + 6×1 + 4×3 + 0×1 + 6×3 + 1×1 + 5×3
= 9 + 21 + 8 + 0 + 3 + 0 + 6 + 12 + 0 + 18 + 1 + 15
= 93
93 / 10 = 9 remainder 3
10 – 3 = 7`
Run Code Online (Sandbox Code Playgroud)
我的问题是我不知道如何将一个数字乘以1而另一个数字乘以3?我猜一个for循环,但我不知道如何开始.
我试图在Java中编写一个接受字符串作为参数的方法.现在这个字符串可能是一个数学表达式,也可能只是一个普通的字符串.我只有在它是一个数学表达式时才能对它进行评估,如果不是这样的话,我就不管它.我将使用java脚本引擎评估数学表达式,如下所示:
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript");
String foo = "1+2*10";
System.out.println(engine.eval(foo));
Run Code Online (Sandbox Code Playgroud)
但问题是如果我传递一个不是数学表达式的字符串,这会引发异常.我的代码中不需要例外.我想要实现的是这样的:
if(isExpression(foo))
{
engine.eval(foo);
}
Run Code Online (Sandbox Code Playgroud)
这样我在评估它之前检查它是否是数学表达式.是否有一个简单的方法isExpression(foo)实现?可能正在使用一些正则表达式?如果有的话请告诉我.谢谢
我是python的新手,并且让我的头围绕着数组,我对一个相当简单的问题感到震惊.我有一个列表列表,如下所示:
a = [[1,0,1,0,1],[0,0,1,0,1],[0,0,1,0,1],[1,1,1,0,1],[1,0,0,0,0]]
Run Code Online (Sandbox Code Playgroud)
我希望将每个列表的元素相互叠加.就像是:
a_dot = [1,0,1,0,1]*[0,0,1,0,1]*[0,0,1,0,1]*[1,1,1,0,1]*[1,0,1,0,0]
=[0,0,1,0,0]
Run Code Online (Sandbox Code Playgroud)
想知道我是否可以在不使用numpy/scipy的情况下完成上述操作.
谢谢.
如何将以下每个数学表达式转换为C中的等效语句?
1 /(x ^ 2 + y ^ 2)
(b ^ 2 - 4ac)的平方根