int minsteps(int z)
{
    int n=0;
    int sum=0;
    while(sum<z || (sum-z)%2==1)
    {
        n++;
        sum+=n;
    }
    return n;
}

第5题,AB距离为z,最少n步。
贪婪算法,走到z米,且步数最少,所以尽量正着走,当走到第n步时大于z,可以将之前的一步反着走来抵消超过z的部分,由于任意一步i反着走都会使总距离少2*i。所以第n步时和z的差值应该为偶数,反着走的那一步为(sum-z)/2,其中sum为第n步时的总距离。