列表

详情


NC253615. Kevin喜欢一

描述

氧气少年最近喜欢上了一。

氧气少年有一个文本输入框,最初文本输入框里只有一个字符 `\tt 1'。

氧气少年每次可以进行下面的操作:


现在氧气少年想让文本输入框中恰好有 n 个 `\tt 1',请求出他需要做的最少的操作次数。

输入描述

第一行包含一个整数 T(1\leq T \leq 2\cdot 10^5),表示测试用例的组数。

对于每组测试用例:

仅输入一行,包含一个整数 n(1\leq n\leq 10^9)

输出描述

对于每组测试用例:

仅输出一行,包含一个整数,表示答案。

示例1

输入:

2
1
2

输出:

0
1

原站题解

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

Go 解法, 执行用时: 2001ms, 内存消耗: 0K, 提交时间: 2023-08-10 23:48:52

package main
import (
    "fmt"
    "math"
)

func main() {
    // todo
    n := 0
    k := 0
    fmt.Scanf("%d", &n)
    for i := 0; i < n; i++ {
        fmt.Scanf("%d", &k)
        fmt.Println(math.Ceil(math.Log2(float64(k))))
    }
}

Python3 解法, 执行用时: 1459ms, 内存消耗: 5136K, 提交时间: 2023-08-10 23:42:31

import math
n = int(input())
for i in range(n):
    k = int(input())
    print(math.ceil(math.log(k, 2)))

PHP 解法, 执行用时: 472ms, 内存消耗: 5432K, 提交时间: 2023-08-10 23:37:55

<?php

$n = intval(fgets(STDIN));
for ( $i = 0; $i < $n; $i++ ) {
    $k = intval(fgets(STDIN));
    echo ceil(log($k, 2)) . PHP_EOL;
}
// todo

上一题