Pseudo-binario

Formación 1 - B del título

En la ciudad de San Petersburgo, un día tiene una duración de 2100 minutos. Desde la estación principal de San Petersburgo, un tren sale después de 1 minuto, 4 minutos y 16 minutos, y así sucesivamente; en otras palabras, la salida del tren en el momento 4k para cada k≥0 entero. Equipo BowWow ha llegado a la estación en el tiempo y ss está tratando de contar el número de trenes tienen que perder; en otras palabras, el número de trenes que han partido antes estrictamente ss tiempo. Por ejemplo, si s = 20, entonces se perdió trenes que han partido a las 1, 4 y 16. A medida que usted es el único que conoce el tiempo, ayudarles!
Tenga en cuenta que el número de SS le puede dar en una representación binaria sin ceros a la izquierda.

Entrada

La primera línea contiene un solo número binario s (0≤s <2100) sin ceros a la izquierda.

Salida

Salida de un único número - el número de trenes que han partido antes de que el estrictamente ss tiempo.

Ejemplos

Entrada

100000000

Salida

4

Entrada

101

Salida

2

Entrada

10100

Salida

3

Nota

En el primer ejemplo 1000000002 = 256101000000002 = 25.610, trenes perdidas han partido a las 11, 44, 1616 y 6464.
En el segundo ejemplo 1012 = 5101012 = 510, los trenes han salido en 11 y 44.
El tercer ejemplo se explica en los estados.

#pragma warning (disable:4996)
#include <iostream>
#include <algorithm>
#include <iomanip>
#include <cstring>
#include <string>
#include <cstdio>
#include <cmath>
#include <vector>
#include <queue>
#include <set>
#define inf 0X3f3f3f3f
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int maxn = 1e6 + 5;

string str;

int main()
{
	int ans = 0;
	cin >> str;
	bool flag = 1;
	for (int i = 1; i < str.length(); i++)
		if (str[i] == '1')
		{
			flag = 0;
			break;
		}
	if (str.length() % 2 == 0)
		ans = str.length() / 2;
	else
	{
		ans = (str.length() - 1) / 2 + 1;
		if (flag)
			ans--;
	}
	printf("%d\n", ans);
}

Pensando:
máximo número binario de 4 hexadecimal puede representar el nivel más alto es que es otro de bits es el número cero. En particular, si el binario en sí es poder 4, excluido el número en sí.

Publicado 28 artículos originales · ganado elogios 0 · Vistas 337

Supongo que te gusta

Origin blog.csdn.net/xukeke12138/article/details/104618843
Recomendado
Clasificación