7-7 素因子分解(20 分)

7-7 素因子分解(20 分)

给定某个正整数 N,求其素因子分解结果,即给出其因式分解表达式 N=p1k1p2k2pmkm

输入格式:

输入long int范围内的正整数 N。

输出格式:

按给定格式输出N的素因式分解表达式,即 N=p1^k1*p2^k2*…*pm^km,其中pi为素因子并要求由小到大输出,指数kipi的个数;当ki为1即因子pi只有一个时不输出ki

输入样例:

1323

输出样例:

1323=3^3*7^2

#include<iostream>
using namespace std;
int main(){	
long n;
	int flag=0;
	cin>>n;
	cout<<n<<"=";
	if(n>1){
		for(long i=2;i<=n;i++){//考虑质数 
		int p=0,k=0;
		while(n%i==0){
			n/=i;
			p=i;
			k++;
		}
		if(p!=0){
			if(flag==1)
			cout<<"*";			
			cout<<p;
			flag=1;
		}
		if(k>1){
			cout<<"^"<<k;
		}
	}
	} 
	else
	cout<<1;
cout<<endl;
	return 0;
}

阅读更多
个人分类: pat
想对作者说点什么? 我来说一句

素因子分解,递归,c实现

2015年11月06日 14KB 下载

没有更多推荐了,返回首页

不良信息举报

7-7 素因子分解(20 分)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭