样例全对但是0分
查看原帖
样例全对但是0分
785583
Hanxiaoyang楼主2024/10/1 16:22
#include<bits/stdc++.h>
using namespace std;
void yin(long long n){
	int m = n,sum = 0,cc = 0;
	for(long long i = 2;i<=n;i++){
		if(m<=1) break;
		while(m%i==0){
			sum++;
			m/=i;
		}
		if(sum>=2){
			if(cc == 0){
				cout<<i<<"^"<<sum;
				cc = 1;
			}
			else cout<<" * "<<i<<"^"<<sum;
		}
		else if(sum == 1){
			if(cc == 0){
				cout<<i;
				cc = 1;
			}
			else cout<<" * "<<i;
		}
		sum = 0;     
	}
}
bool zhi(int n){
	for(int i = 2;i*i<=n;i++){	
		if(n%i==0) return false;
	}
	return true;
}
int main(){
	long long a;
	cin>>a;
	if(zhi(a)){
		cout<<a;
		return 0;	
	}
	yin(a);
}
2024/10/1 16:22
加载中...