题目链接:uva 11384 - Help is needed for Dexter
题目大意:给定正整数n,要求将1,2.....n的序列全部变为0,每次操作可以从序列中选取一个或多个正整数,同时减掉一个相同的正整数,输出最小的操作次数。
解题思路:ans = log2(n) + 1。
#include <stdio.h>
int main () {
int n;
while (scanf("%d", &n) == 1) {
int ans = 0;
while (n) {
n /= 2;
ans++;
}
printf("%d\n", ans);
}
return 0;
}