80求调
查看原帖
80求调
948733
ywrow楼主2025/1/27 15:35
#include<bits/stdc++.h>
using namespace std;
long long n,cnt=0;
int main(){
	scanf("%lld",&n);
	for(long long i=2;i*i<=n;i++){
		if(n%i==0){
			long long ans=0;
			while(n%i==0){
				n/=i;
				ans++;
			}
			if(ans==1&&cnt>0)printf(" * %lld",i);
			else if(ans==1)printf("%lld",i);
			else printf("%lld^%lld",i,ans);
			cnt=1;
		}
	}
	if(cnt==0){
		printf("%lld",n);
		exit(0);
	}
	printf(" * %lld",n);
}

提交记录

2025/1/27 15:35
加载中...