求最小次数的计数器问题



###### 这样的解法不知道会不会存在问题


//一个变量a,初始值为0,一个计数器,初始值为1,每次操作,可以让a加上计数器的值或者a+1
//操作后计数器+1
//问最少操作次数使a变为n

#include<iostream>
using namespace std;

int main()
{
    int count=0;//次数

    int k=1;//计数器

    int a=0;

    int n;
    cin>>n;

    while((a+k)<=n)//
    {
        a+=k;
        k++;
        count++;
    }
    cout<<count+(n-a)<<endl;
   return 0;
}

题目让a变成n,你这直接加冒了呀
你这样加,n就必须是个等差数列求和数,如果不是,那a就直接大于n了


#include<iostream>
using namespace std;
int main()
{
    int count = 0;//次数
    int k = 1;//计数器
    int a = 0;
    int n;
    cin >> n;
    while (a <= n)//
    {
        a += k;
        k++;
        count++;
    }
    cout << count << endl;
    return 0;
}