PTA:7-110 素因子分解 (20分)

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

在这里插入图片描述
输入样例:

1323

输出样例:

1323=3^3*7^2

具体解析见AC代码:
(注意n为1的情况,输出为“1=1”)

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

ll Isprime(ll x){
	ll j=0;
	for(j=2; j<=sqrt(x); j++){
		if(x%j==0) break;
	}	
	if(j>sqrt(x)) return 1;
	return 0;
}

int main(){
	ll n;
	ll cnt=0;
	cin>>n; 
	int m=n;
	cout<<n<<"=";
	for(ll i=2;;i++){
		if(n==1) break;
		if(Isprime(i)){
			cnt=0;
			while(n%i==0){
				cnt++;
				n/=i;						
			}
			if(cnt>0){
				cout<<i;
				if(cnt>1) cout<<"^"<<cnt;		
				if(n>1) cout<<"*";
			} 
		}
	}
	if(m==1) cout<<1;
	return 0;
} 

在这里插入图片描述
欢迎大家批评改正!!!

发布了39 篇原创文章 · 获赞 2 · 访问量 3417

猜你喜欢

转载自blog.csdn.net/weixin_43581819/article/details/104065704