321
社区成员




A地跟B地的网络中间有n个节点(不包括A地和B地),相邻的两个节点是通过网线连接。正常的情况下,A地和B地是可以连通的,有一天,A地和B地突然不连通了,已知只有一段网线出问题(两个相邻的节点)小明需要排查哪段网线出问题。他的排查步骤是: 1。 选择某个中间节点 2。 在这个节点上判断跟A地B地是否连通,用来判断那一边出问题 请问小明最少要排查多少次,才能保证一定可以找到故障网线
python 解这个非常容易,因为他支持大数。。。
n,v = int(input()),0
while n >> v > 0:
v += 1
print(v)
js 的也还好
var n = parseInt(readline()),v = 0;
while (n >= 2 ** v){v ++;}
print(v)
c# 就要麻烦很多
using System;
class Program {
public static void Main() {
string n = Console.ReadLine();
long num = Convert.ToInt64(n);
int v = 0;
while (num >= Math.Pow(2,v)){v ++;}
Console.Write(v);
}
}