首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

2012-09-29 
分解质因数(算术基本定理)#include iostream#include cmath#include cstdiousing namespace stdint

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

#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;
}

热点排行