我正在尝试计算n阶乘因数的一个素因数列表,这些素因数以升序排序,并且此列表中的每个素数与因式因数因数分解中出现的次数一样多。 >
我有一个程序,可以计算最多一个指定数字的质数的链表,但是我不确定在将当前正被乘以的整数的质数附加到阶乘后如何实现这一点:
我正在尝试计算n阶乘的素数的列表,素数以升序排序,并且此列表中的每个素数与出现在...中的素数完全一样多...
public static List<Integer> getFactorialPrimeFactors(int n)
{
List <Integer> primes = primeNum(n);
ArrayList <Integer> primeDivisors = new ArrayList<>();
for(int i: primes)
{
int count = 0;
for(int num = i; num <= n; num *= i)
{
count += n/num;
}
while(count > 0)
{
primeDivisors.add(i);
count--;
}
}
return primeDivisors;
}
[2..N]
List<Integer> primes = primeNum(n);
for(int i = 1; i <= 10; i ++){
List<Integer> temp = primeFactors(i,primes);
for(int j = 0; j < temp.size(); j++){
list.add(temp.get(j));
}
}
public static List<Integer> getNfactorialFactors(int n,
List<Integer> primes) {
List<Integer> factors = new ArrayList<>();
for (int p : primes) {
int nn = n;
while (nn >= p) {
for (int i = nn / p; i > 0; i--) {
factors.add(p);
}
nn/=p;
}
}
return factors;
}