小编Mat*_*tan的帖子

具有最大可能因子n的k个不同因子的可能乘法

M(n,k)是具有最大可能因子nk个不同因子的所有可能乘法总和,其中顺序是无关的.

例如,M(5,3)= 225,因为:

  • 1*2*3 = 6
  • 1*2*4 = 8
  • 1*2*5 = 10
  • 1*3*4 = 12
  • 1*3*5 = 15
  • 1*4*5 = 20
  • 2*3*4 = 24
  • 2*3*5 = 30
  • 2*4*5 = 40
  • 3*4*5 = 60

6 + 8 + 10 + 12 + 15 + 20 + 24 + 30 + 40 + 60 = 225.

人们可以很容易地注意到存在C(n,k)这样的乘法,对应于可以从n个可能对象中挑选k个对象的方式的数量.在上面的例子中,C(5,3)= 10, …

java arrays algorithm math

7
推荐指数
1
解决办法
183
查看次数

Java 中的 for 循环通常是多线程的

假设我给出了整数a,并且b形成了一个感兴趣的范围,其中的整数为[a,b]。该范围可以跨越10^9整数。f : N -> N我想对给定函数的所有整数的值求和a <= n <= b。范围非常大,所以我想使用多线程来完成此操作。

不太正式,我想并行化以下代码:

long sum = 0;
    
for (long n = a ; n <= b ; n++)
    sum += f(n);
    
System.out.println(sum);
Run Code Online (Sandbox Code Playgroud)

理想情况下(至少在我看来),该范围将平均分配处理器可用的可用线程数(假设范围内f(n)每个线程的复杂性和运行时间几乎相同)。n这些值是完全独立的,并且f实际上可以是任何函数。例如,它可以输出数字的数字之和,但它实际上可以是任何东西,这只是一个例子。

在 Java 中使用多线程有没有一种通用的方法可以做到这一点?

java algorithm performance multithreading loops

6
推荐指数
1
解决办法
161
查看次数

标签 统计

algorithm ×2

java ×2

arrays ×1

loops ×1

math ×1

multithreading ×1

performance ×1