5.8 计算wifi 密码 您所在的位置:网站首页 酒店房间号排列图 5.8 计算wifi 密码

5.8 计算wifi 密码

2024-06-02 23:15| 来源: 网络整理| 查看: 265

第1关:计算整数幂 任务描述

小明在武汉理工大学读书,学校的wifi密码是楼栋号的房间号次幂的前16位的16进制表示,且其中字母均为大写。本项目就带你一步一步的破解这个密码。

本关任务:编写一个能计算整数的整数次幂的小程序。

相关知识

为了完成本关任务,你需要掌握: 1.幂运算函数

幂运算函数

内置函数pow(base, exp[, mod]) 返回 base 的 exp 次幂;如果 mod 存在,则返回 base 的 exp 次幂对 mod 取余(比 pow(base, exp) % mod 更高效)。 两参数形式 pow(base, exp) 等价于乘方运算符: base**exp。

print(pow(2,10))

输出: 1024

编程要求

根据提示,在右侧编辑器补充代码,输入楼栋号和房间号,计算并输出楼栋号的房间号次幂。

测试说明

平台会对你编写的代码进行测试:

测试输入: 4 # 4号楼 102 # 102号房间 预期输出: 25711008708143844408671393477458601640355247900524685364822016

代码如下:

building_num = int(input()) room_num = int(input()) print(pow(building_num,room_num)) 第2关:输出幂运算结果的前n位数 任务描述

小明在武汉理工大学读书,学校的wifi密码是楼栋号的房间号次幂的前16位的16进制表示,且其中字母均为大写。本项目就带你一步一步的破解这个密码。

本关任务:编写一个能输出一个整数的整数次幂的前n位数的小程序。

相关知识

为了完成本关任务,你需要掌握: 1.整数转字符串 2.字符串切片

整数转字符串

str(number)可以将整数num转为字符串类型,后续可用字符串方法进行操作。

print(str(5070602400912917605986812821504))

输出: '5070602400912917605986812821504'

字符串切片

s[m: n] 可以返回字符串s中序号从m开始(包括m)到n结束(包括n)的子字符串。m省略时从第一个字符开始,n省略时到最后一个字符结束(包括最后一个字符)

print('5070602400912917605986812821504'[:12])

输出: 507060240091

编程要求

根据提示,在右侧编辑器补充代码,在输入楼栋号和房间号,计算并输出楼栋号的房间号次幂的前16位数字。

测试说明

平台会对你编写的代码进行测试:

测试输入: 4 # 4号楼 102 # 102号房间 预期输出: 2571100870814384

a = eval(input()) b = eval(input()) print(str(pow(a, b))[:16]) 第3关:整数字符串转为十六进制数 任务描述

小明在武汉理工大学读书,学校的wifi密码是楼栋号的房间号次幂的前16位的16进制表示,且其中字母均为大写。本项目就带你一步一步的破解这个密码。

本关任务:编写一个能输出一个整数的整数次幂的前n位数转为十六进制数的小程序。

相关知识

为了完成本关任务,你需要掌握: 1.整数字符串转整数 2.整数转十六进制

整数字符串转整数

int(str)可以将整数字符串str转为整数类型,后续可用整数方法或函数进行运算。

print(int('507060240091'))

输出: 507060240091

整数转十六进制

内置函数hex(x)可以将整数转换为以“0x”为前缀的小写十六进制字符串。

print(hex(507060240091))

输出: 0x760f253edb

编程要求

根据提示,在右侧编辑器补充代码,在输入楼栋号和房间号,计算并输出楼栋号的房间号次幂的前16位数字的十六进制表示。

测试说明

平台会对你编写的代码进行测试:

测试输入: 4 # 4号楼 102 # 102号房间 预期输出: 0x9226712162ab0

a = eval(input()) b = eval(input()) c = str(pow(a, b))[:16] print(hex(int(c))) 第4关:字母转大写

本关任务:编写一个能输出一个整数的整数次幂的前n位数转为十六进制数的且使出现的字母都是大写表示的小程序。

相关知识

为了完成本关任务,你需要掌握: 1.字母转大写

整数字符串转整数

str.upper()返回原字符串str的副本,其中所有区分大小写的字符均转换为大写。 注意,括号中无参数,这个方法作用在点前面的字符串上,将前面字符串中的小写字母转为大写,其他字符不变。

print('0x9226712162ab0'.upper())

输出: 0X9226712162AB0

编程要求

根据提示,在右侧编辑器补充代码,在输入楼栋号和房间号,计算并输出楼栋号的房间号次幂的前16位数字的十六进制的大写表示。

测试说明

平台会对你编写的代码进行测试:

测试输入: 4 # 4号楼 102 # 102号房间 预期输出: 0X9226712162AB0

a=eval(input()) b=eval(input()) print(hex(int(str(pow(a,b))[:16])).upper()) 第5关:计算wifi密码 任务描述

小明在武汉理工大学读书,学校的wifi密码是楼栋号的房间号次幂的前16位的16进制表示,且其中字母均为大写,结果中不包括十六进制数的引导符“0X”。这一关你将完善自己的程序,使之可以破解所有按这个规则设置的密码。

本关任务:编写一个能输出一个整数的整数次幂的前n位数转为十六进制数的且使出现的字母都是大写表示的小程序。

相关知识

为了完成本关任务,你需要掌握: 1.切片

字符串切片

s[m: n] 可以返回字符串s中序号从m开始(包括m)到n结束(包括n)的子字符串。 m省略时从第一个字符开始 n省略时到最后一个字符结束(包括最后一个字符)

print('0XAE0B158B47387'[2:])

输出: 507060240091

编程要求

根据提示,在右侧编辑器补充代码,在输入楼栋号、房间号和截取数字的位数n,计算并输出楼栋号的房间号次幂的前n位数字的十六进制的大写表示。

测试说明

平台会对你编写的代码进行测试:

测试输入: 4 # 4号楼 102 # 102号房间 16 # 截取数字位数 预期输出: 9226712162AB0

代码如下:

building_num = int(input()) room_num = int(input()) n = int(input()) num = pow( building_num, room_num ) print(hex(int(str(num)[:n]))[2:].upper())



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有