T了求调
查看原帖
T了求调
988515
YSchencheche楼主2024/6/6 15:08
#include<bits/stdc++.h>
#define nb(i,j,k) for(int i=j;i<=k;i++)
#define Nb(i,j,k) for(int i=j;i>=k;i--)
using namespace std;
long long n,i=1,c;
bool f;
bool p(long long a)
{
	nb(i,2,sqrt(a))
		if(a%i)
			return 0;
	return 1; 
}
int main()
{
	cin>>n;
	if(p(n))
	{
		cout<<n;
		goto A;
	}
	while(n>1) 
	{
		i++;
		c=0;
		while(n%i==0)
		{
			n/=i;
			c++;
		}
		if(c)
		{
			if(f)
				cout<<" * ";
			else
				f=1;
			cout<<i;
			if(c>1)
				cout<<"^"<<c;
		}
		if(p(n))
		{
			cout<<" * "<<n;
			goto A;
		}
	}
	A:return 0;
}

2024/6/6 15:08
加载中...