80WA#1#5悬关
查看原帖
80WA#1#5悬关
869291
_txb_楼主2023/11/10 23:12
#include<bits/stdc++.h>
using namespace std;
long long a[10000005],b[10000005],j=1,n,s=0;
int main(){
    cin>>n;
    for(long long i=2;i<=sqrt(n);i++)
    {
    	s=0;
    	while(n%i==0)
    	{
    		n/=i;
    		s++;
		}
		if(s!=0)
		{
			a[j]=i;
			b[j]=s;
			j++;
		}
	}
	if(n>1)
	{
		a[j]=n;
		b[j]=1;
		j++;
	}
	for(long long i=1;i<j;i++)
	{
		if(i==j-1)
		{
			if(i==1)
			{
				if(b[i]==1) cout<<a[i];
			}
			else
			{
				if(b[i]==1) cout<<" "<<a[i];
				else cout<<" "<<a[i]<<"^"<<b[i];
			}
		}
		else if(i==1)
		{
			if(b[i]==1) cout<<a[i]<<" *";
			else cout<<a[i]<<"^"<<b[i]<<" *";
		}
		else
		{
			if(b[i]==1) cout<<" "<<a[i]<<" *";
			else cout<<" "<<a[i]<<"^"<<b[i]<<" * ";
		}
	}
    return 0;
}

求大佬修改

2023/11/10 23:12
加载中...