Factorization

来源:互联网 发布:node*next 编辑:程序博客网 时间:2024/06/05 22:40
// Factorization.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include <math.h>#include <string.h>bool IsPrime(int num){if(num<=1)return false;if(num==2)return true;if(num%2==0)return false;/////for(int j=3;j<=sqrt(num);j+=2){if(num%j==0)return false;}return true;}int main(int argc, char* argv[]){printf("Input num n:\n");int n;scanf("%d",&n);getchar();///////////////////////////if(IsPrime(n)){printf("素数!\n");return 0;}//标记小于n的素数,同时不断除!//int a[3000];//假设n<3000//memset(a,0,sizeof(a));//a[2]=1;printf("%d=",n);int count=0;while(n%2==0){n=n/2;count++;}if(count>0){printf("%d^%d",2,count);}for(int j=3;j<=n/2;j+=2){if(IsPrime(j)){count=0;while(n%j==0){n=n/j;count++;}if(count>0){printf("*%d^%d",j,count);}}//if(IsPrime(j))}//for(int j=3;j<=n/2;j+=2)printf("*%d\n",n);/////////////////////////return 0;}