1621: 减小数

Description
给定一个数n,你的任务是用最少的操作把1,2.......n中的所有数都变成0。每次操作可以从序列中选择一个或多个同时减去一个数。
Input
输入n(n<=100000)
Output
输出最小次数
Sample Input
1
2
Sample Output
1
2

参考:https://blog.csdn.net/qq_38735931/article/details/82661802
思路:找规律,然后神奇的事情就发生了,代码要多简洁有多简洁
AC代码:

#include<vector>
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<map>
#include<algorithm>
using namespace std;
typedef long long ll;
const int maxn=300050;

int main(){
   int t,temp,m,n,count;
    int a[maxn];a[0]=0;
    while(~scanf("%d",&t)){
        count=0;
    while(t){
        count++;
        t/=2;
        
        }
         printf("%d\n",count); 
   }

     return 0;
}
全部评论

相关推荐

头像
11-06 10:58
已编辑
门头沟学院 嵌入式工程师
双非25想找富婆不想打工:哦,这该死的伦敦腔,我敢打赌,你简直是个天才,如果我有offer的话,我一定用offer狠狠的打在你的脸上
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务