任意の数の最大の素因数を見つけようとしています。私はPythonでこの問題のプログラムを実行していますが、私が従っているアルゴリズムに何か問題があるようです. 無限ループに陥りそうです。プログラムは次のようになります。
def prime(n):
i=0;
while(n!=2):
for i in range(2,n):
if(n%i==0):
prime(n/i);
else:
continue;
print("The highest prime factor is: "),n;
print("Enter a number to find its highest prime factor");
n=input();
prime(n);
ここで何が問題なのかを指摘し、これを解決するためのこれよりも優れたアルゴリズムが他にあるかどうかについても言及してください。