您的位置:首页 > 其它

分解质因数(算术基本定理)

2012-09-22 22:20 225 查看
#include <iostream>

#include <cmath>

#include <cstdio>

using namespace std;

int isprime(int a){

   int i;

   for(i = 2; i <= (int)sqrt(a); i++){

      if(a%i == 0){

         return 0;

      }

   }

   return 1;

}

void primefactor(int n){

   int i;

   if(isprime(n)){

      printf("%d\n", n);

   }

   else{

      for(i = 2; i <= n-1; i++){

         if(n%i == 0){

            printf("%d ", i);

            if(isprime(n/i)){

               printf("%d\n", n/i);

               break;

            }

            else{

               primefactor(n/i);

            }

            break;

         }

      }

   }

}

int main()

{

    int n;

    scanf("%d", &n);

    primefactor(n);

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  include