为什么本地运行正确但是在洛谷ide里面提交输出会是错的
查看原帖
为什么本地运行正确但是在洛谷ide里面提交输出会是错的
944873
dxy19213987956楼主2023/6/14 18:53
#include <iostream>
#include <string>
#include <algorithm>
#include <cmath>
#include <cstring>
using namespace std;
void solve();
void mult();
int n,m[1000],res[1000]={1},len;
int main()
{
    cin >> n;
    solve();
}

void solve()
{
    int tmp=n;
    for(int i=2;tmp>=i;i++,len++)
    {
        m[len]=i;
        tmp-=i;
    }
    if(tmp!=0)
    {
        tmp-=len+2;
        len++;
        m[len-1]=len+1;
        tmp=abs(tmp);
    }
    if(tmp==1)
    {
        m[len-1]++;
        m[0]=1;
    }
    else
    {
        m[tmp-2]=1;
    }
    mult();
    for(int i=0;i<len;i++)
    {
        if(m[i]==1)continue;
        else cout << m[i] << " ";
    }
    cout << "\n";
    for(len=999;res[len]==0;len--);
    for(;len>-1;len--)cout << res[len];
}

void mult()
{
    int tmp;
    for(int i=0;i<len;i++)
    {
        for(int j=0;j<1000;j++)
        {
            if(m[i]==1)break;
            int c=res[j]*m[i]+tmp;
            res[j]=c%10;
            tmp=c/10;
        }
    }
}
2023/6/14 18:53
加载中...