质数又称素数。一个大于
的自然数,除了
和它自身外,不能被其他自然数整除的数叫做质数,否则称为合数。
请将一个正整数
分解质因数,从小到大的顺序返回其质因子。
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return int整型一维数组 */ public int[] primeFactorization (int n) { // write code here List<Integer> res = new ArrayList<>(); int i=2; while(n>1){ if(n%i==0){ res.add(i); n = n/i; }else{ i=i+1; } } int len = res.size(); int[] result = new int[len]; for(int j=0; j<len; j++){ result[j] = res.get(j); } return result; } }
bool isprime(int n) { if (n == 1) { return false; } if (n == 2) { return true; } for (int i = 2; i <= n / 2; i++) { if (n % i == 0) return false; } return true; } int* primeFactorization(int n, int* returnSize ) { int count = 0; while (n > 1) { for(int i = 2;i <= n;i++){ if (n % i == 0 && isprime(i)) { returnSize[count++] = i; n = n / i; break; } } } return returnSize; }DEVC 能跑出来,这里不知道为甚么是错的