Java-终止无限循环
我有一个代码块,我已经写了给我最大的素数因子的任何数字Java-终止无限循环,java,break,prime-factoring,Java,Break,Prime Factoring,我有一个代码块,我已经写了给我最大的素数因子的任何数字 public static void main(String[] args) { long n = 49; while (true) { long x = sPrimeFactor(n); if (x < n) n /= x; else System.out.println(n); } } p
public static void main(String[] args) {
long n = 49;
while (true) {
long x = sPrimeFactor(n);
if (x < n) n /= x;
else
System.out.println(n);
}
}
public static long sPrimeFactor (long n){
if (n <= 1) return 1;
long cap = (long) Math.sqrt(n);
for (long i = 2; i <= cap; i++) {
if (n % i == 0) return i;
}
return n;
}
publicstaticvoidmain(字符串[]args){
长n=49;
while(true){
长x=螺旋因子(n);
如果(x
或者使用break;
是另一种方法
public static void main(String[] args) {
long n = (long) 49;
while (true) {
long p = sPrimeFactor(n);
if (p < n) n /= p;
if (p == n) break;
}
System.out.println(n);
}
public static long sPrimeFactor (long n){
if (n <= 1) return 1;
long cap = (long) Math.sqrt(n);
for (long i = 2; i <= cap; i++) {
if (n % i == 0) return i;
}
return n;
}
while (true) {}