我有两个类来计算欧拉数。
计算欧拉数的公式是1 / n!的总和。 n = 0到无穷大
此课程计算阶乘
public class E
{
public static double factorial(double number)
{
double m = number;
if (number == 0 || number == 1)
{
return 1;
}
else
{
return m*factorial(m-1);
}
}
}
此类计算欧拉数
public class Teste
{
static double e = 0;
public static void euller (int n)
{
for (int i = 0; i <= n; i++)
{
double j = (double)(E.factorial(i));
e += (1 / j);
}
}
public static void main(String[] args)
{
euller (100); // euller of numbr 100
System.out.println (e);
}
}
我想使用线程。每个线程都应该计算一个数字的阶乘。
例如,n = 10,线程数= 5
线程1,计算因子0 1,线程2计算2 3 ...
我应该如何在此代码中包含线程?
答案 0 :(得分:1)
创建一个池线程,在你的情况下有5个线程,只需在调用factorial(i)时执行它们。那就没那么多了。