50分求助
查看原帖
50分求助
228451
he1234QWQ楼主2021/2/1 09:35
#include<bits/stdc++.h>
using namespace std;
long long n,x,i,t=1;
int s[10001];
void jc(int x)
{
    for(int i=1;i<=t;i++)
    {
        s[i]=s[i]*x;
    }
    for(int i=1;i<=t;i++)
    {
        if(s[i]>=10)
        {
            long long add=s[i]/10;
            s[i+1]+=add;
            s[i]=s[i]%10;
            if(i+1>t)
            	t=i+1;
        }
    }
}
int main()
{
	s[1]=1;
	cin>>n;
    if(n%3==1)
	{
	 n-=4;
	 jc(4);
	 while(n!=0)
	 {
	 	n-=3;
	 	jc(3);
	 }
	}
	if(n%3==2)
	{
		n-=2;
		jc(2);
		while(n!=0)
		{
			n-=3;
			jc(3);
		}
	}
	else
	{
		while(n!=0)
		{
			n-=3;
			jc(3);
		}
	
	}
	cout<<t<<endl;
	if(t<=100)
	for(int i=t;i>=1;i--)
		cout<<s[i];
		else
		for(int i=t-100;i>=1;i--)
		cout<<s[i];
	cout<<endl;
	return 0;
}
2021/2/1 09:35
加载中...