Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 프로그램은 숫자의 가장 큰 소인수를 구합니까?

<시간/>

주요 요소 − 정수론에서 양의 정수의 소인수는 해당 정수를 정확히 나누는 소수입니다. 이러한 숫자를 찾는 과정을 정수 분해 또는 소인수 분해라고 합니다.

− 288의 소인수는 다음과 같습니다. 288 =2 x 2 x 2 x 2 x 2 x 3 x 3

Input: n = 124
Output: 31 is the largest prime factor!

설명

숫자의 모든 소인수를 찾고 그 중 가장 큰 소인수를 찾습니다. 소인수 124 =2 x 2 x 31. 그 중 31이 가장 큽니다.

#include <stdio.h>
int main() {
   long int n;
   n=3453;
   long int div=2, ans = 0, maxFact;
   while(n!=0) {
      if(n % div !=0)
         div = div + 1;
      else {
         maxFact = n;
         n = n / div;
         if(n == 1) {
            printf("%d is the largest prime factor !",maxFact);
            ans = 1;
            break;
         }
      }
   }
   return 0;
}

출력

1151 is the largest prime factor !