http://acm.pku.edu.cn/JudgeOnline/problem?id=1032

Код:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
    int n=7,i,t;
    cin>>n;
    for(i=2;n>=i;i++) n-=i;
    i--;
    if(i==n)
    {
        for(t=2;t<=i-1;t++)
        {
           cout<<t+1<<" ";
        }
        cout<<i+2<<" ";
    }
    else
    {
        for(t=2;t<=i;t++)
        {
               if(i-t<n) cout<<t+1<<" ";
               else cout<<t<<" ";
        }
    }
    cout<<endl;
        return 0;
}