複製程式
#include <stdio.h>
#include <stdlib.h>
int HighPrime(int,int)
int main(void)
{
int i,n;
do
{
printf("Enter n: ");
scanf("%d",&n);
if(n<1)
break;
printf("最大質因數=%d\n",HighPrime(n,n));
//從n檢查回去,則第一個檢查到的因數即為最大因數
}while(n>0);
system("pause");
return 0 ;
}
int HighPrime(int n,int i)
{
int j,prime=1;
if(n%i==0)
{
for(j=2;j<=i && prime==1;j++) //檢查i是否為質數
{
if(i%j==0) prime=0; //整除就不是質數
}
if(prime)
return i; //若prime==1,則i為質數,回傳i並結束函式
}
return HighPrime(n,i-1); //否則繼續用i-1代入算
}
In function `HighPrime':
6 syntax error before '{' token