专栏首页用户6093955的专栏【 BowWow and the Timetable CodeForces - 1204A 】【思维】

【 BowWow and the Timetable CodeForces - 1204A 】【思维】

题目链接 可以发现 十进制4 对应 二进制100 十进制16 对应 二进制10000 十进制64 对应 二进制1000000 可以发现每多两个零,4的次幂就增加1. 用string读入题目给定的二进制数字,求出其长len,当len为奇数时,第一位为1,后面的位数如果都为0,则输出len,如果有一个不为0,则输出len+1; 当len为偶数时,则输出len。(之所以这样输出是因为题目给定4的次幂是从0开始的)

#include<iostream>
#include<string>
#include<cstdio>
using namespace std;
string s;
int main()
{
    // freopen("input.txt", "r", stdin);
    // freopen("output.txt", "w", stdout);
    cin >> s;
    int len = s.length();
    if(len % 2 == 0)
        printf("%d\n", len / 2);
    else 
    {
        int flag = 0;
        for(int i = 1;i < len; i++)
        {
            if(s[i] == '1')
            {
                printf("%d\n", len / 2 + 1);
                flag = 1;
                break;
            }
        }
        if(!flag)
            printf("%d\n", len / 2);
    }
    
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数据结构期末复习——还原二叉树(根据中序和后序遍历输出先序遍历)

    参考博客:https://blog.csdn.net/qq_37708702/article/details/79644936

    _DIY
  • 【(图) 旅游规划 (25 分)】【Dijkstra算法】

    _DIY
  • 数据结构期末复习——还原二叉树(根据先序和中序遍历输出先序遍历)

    参考博客:https://blog.csdn.net/qq_37708702/article/details/79644068

    _DIY
  • 【POJ 1035】Spell checker

      每个单词,如果字典里存在,输出”该单词 is correct“;如果字典里不存在,但是可以通过删除、添加、替换一个字母得到字典里存在的单词,那就输出 “该单...

    饶文津
  • 基础练习 高精度加法

      由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。   定义一个数组A,A[0]用于存储a的个位,A[1]...

    刘开心_1266679
  • 剑指offer 顺时针打印矩阵

    输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 1...

    week
  • hdu1042

    @坤的
  • 【LeetCode02】找出不含重复字符的 最长子串 的长度

    这道题,一开始最直接的想法就是暴力法,直接穷举所有的子串,然后选择无重复的子串中最长的那个。

    Sam Gor
  • HBUOJ 回音排版

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    喜欢ctrl的cxk
  • Python的内置函数(四十)、 len()

    于小勇

扫码关注云+社区

领取腾讯云代金券