11
2024-01-29 17:41:08
发布于:广东
20阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
//判断素数
bool su(int a) {
for(int i=2; i<=sqrt(a); i++) {
if(a%i0)
return false;
}
return true;
}
int main() {
int n;
cin>>n;
int flag=1;//第一个输出的前面不加*号
for(int i=2; i<=n; i++) {
if(su(i)&&n%i0) {
int cnt=0;
while(n%i==0) {
cnt++;
n/=i;
}
if(cnt>1) {
if(!flag)  //不是第一个输出的
cout<<"*"<<i<<"^"<<cnt;
else
cout<<i<<"^"<<cnt;
flag=0;//已经输出了第一个
		} else {
			if(flag) {//第一个输出
				cout<<i;
				flag=0;
			} else
				cout<<"*"<<i;
		}
	}
}
return 0;
}
这里空空如也

有帮助,赞一个