列表

详情


NC218854. 切绳子

描述

牛牛有一条长度为的绳子。
第一天,绳子的长度为
第二天,这条绳子会被切成两段长度分别为
第三天,对于第二天切出来的每段长度大于的绳子,设其长度为,牛牛又会将其切成
如此反复切下去... ...
但是,牛牛知道,终有一天所有的绳子都会被切成长度为的绳子,到时候他就没有绳子可切了。所有绳子都变成长度为的绳子是第几天?
注:表示除以向下取整。

输入描述

输入包含组数据,第一行一个整数
接下来行每行一个正整数

输出描述

输出行,第行为第组数据的答案。

示例1

输入:

3
1
2
3

输出:

1
2
3

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

matlab(Octave 5.2) 解法, 执行用时: 396ms, 内存消耗: 23232K, 提交时间: 2021-05-06 14:10:50

num_train=input('');
for i=1:1:num_train
    rope(i)=input('');
    result(i)=ceil(log2(rope(i)))+1;   
end
fprintf('%d\n',result)

JavaScript(V8 6.0.0) 解法, 执行用时: 39ms, 内存消耗: 6200K, 提交时间: 2021-04-25 18:12:21

var num=parseInt(readline());
for(let i=0;i<num;i++){
    a=parseInt(readline());
    print(Math.ceil(Math.log2(a)+1));
}

Python3(3.9) 解法, 执行用时: 75ms, 内存消耗: 2808K, 提交时间: 2021-04-24 15:47:34

import math
n = int(input())
for _ in range(n):
    s = int(input())
    print(math.ceil(math.log2(s))+1)

上一题