有没有大佬帮助一下
  • 板块灌水区
  • 楼主zhuyize2011
  • 当前回复8
  • 已保存回复8
  • 发布时间2024/8/16 20:43
  • 上次更新2024/8/16 23:08:30
查看原帖
有没有大佬帮助一下
368957
zhuyize2011楼主2024/8/16 20:43

题目

#include<bits/stdc++.h>
using namespace std;
char zs(int x)
{
	for(int i=2;i<=x/i;++i)
	if(x%i==0) return false;
	return true;
}
int main()
{
	long long n,i=2,s=0,l=1,a[10001];
	cin>>n;
	while(n!=1)
	{
		if(n%i==0&&zs(i)==true)
		{
			s++;
			a[s]=i;
			n/=i;
		}
		else i++;
	}
	if(s==1)
	{
		cout<<a[s]<<endl;
		return 0;
	}
	for(i=1;i<=s;++i)
	{
		if(i==s) 
		{
			if(a[i]!=a[i-1])
			{
				cout<<a[i];
				break;
			}
			if(a[i]==a[i+1]) l++;
			if(l>=2&&a[i]!=a[i-1])
			{
				cout<<a[i]<<"^"<<l;
				l=1;
			}
		}
		else
		{
			if(a[i]!=a[i+1]&&l==1) cout<<a[i]<<" * ";
			if(a[i]==a[i+1]) l++;
			if(l>=2&&a[i]!=a[i+1])
			{
				cout<<a[i]<<"^"<<l<<" * ";
				l=1;
			}
		}
	}
	return 0;
} 

结果

大佬们,是真的不会,没办法了,球球了。

2024/8/16 20:43
加载中...