PAT 甲级 1059 Prime Factors

1059 Prime Factors (25 point(s))

Given any positive integer N, you are supposed to find all of its prime factors, and write them in the format N = p​1​​​k​1​​​​×p​2​​​k​2​​​​×⋯×p​m​​​k​m​​​​.

Input Specification:

Each input file contains one test case which gives a positive integer N in the range of long int.

Output Specification:

Factor N in the format N = p​1​​^k​1​​*p​2​​^k​2​​**p​m​​^k​m​​, where p​i​​'s are prime factors of N in increasing order, and the exponent k​i​​ is the number of p​i​​ -- hence when there is only one p​i​​, k​i​​ is 1 and must NOT be printed out.

Sample Input:

97532468

Sample Output:

97532468=2^2*11*17*101*1291

经验总结:

emmmm 经典的质因子分解方法, 注意一下N等于1时的处理,求质数表使用埃氏筛法即可~~

AC代码

#include 
#include 
const int maxn=100010;
int flag[maxn]={false},prime[maxn],pNum=0;
void find_prime()
{
	flag[0]=flag[1]=true;
	for(int i=2;i

 

你可能感兴趣的:(PAT甲级,PAT甲级/乙级机试经验)