uva 11384 Help is needed for Dexter (递归)

给定正整数n, 你的任务是用最少的操作把序列1,2,3,4·····n中的所有数变成0。每次操作可以从序列中选择一个或多个整数,同时减去一个相同的正整数,比如:1,2,3可以把2,3同时减小2,得到1,0,1;

输入 :n<10e9, 输入多组数据

#include <iostream>

using namespace std;

int fac(int n)
{
    return n==1?1:fac(n/2)+1;
}

int main()
{
    int n;
    while (cin >>n)
    {
        cout <<fac(n)<<endl;

    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41199502/article/details/82833038