c++求最大的N for 循环

求最大的N

给出x的值,求S=1+2+3+...+N输入
一个整数x

               输出
                   一个整数,为所求的最大的N

               样例
               样例输入1
                 5051
               样例输出1
                 100
#include <stdio.h>
int main()
{
    int x,sum = 0,i=1;
    scanf("%d",&x);
    while(sum+i<=x)
    {
        sum += i;
        i++;
    }
    printf("%d",--i);
}


#include<stdio.h>
int main()
{
    int x,sum=0,i=1;
    scanf("%d",&x);
    while(sum<x)
    {
        sum=sum+i;
        i++;
    }
    printf("%d",i-2);
    return 0;
}