// 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;
}
Factorization
最新推荐文章于 2022-04-05 15:32:54 发布