当前位置: 首页 > news >正文

阿里巴巴网站本土化建设trinseo公司

阿里巴巴网站本土化建设,trinseo公司,织梦网站地图修改,网站设计 北京店题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下: 每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换 程序分析 对于…

题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下: 每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换

程序分析

对于给定的四位整数,要求按照一定规则进行加密:

  1. 每位数字都加上5。
  2. 然后用和除以10的余数代替该数字。
  3. 最后将第一位和第四位交换,第二位和第三位交换。

下面我们将使用三种不同的方法来实现这个加密任务,并分析它们的优缺点。

方法一:数学运算

解题思路

按照规则逐步进行数学运算,首先对每位数字加5,然后取余数代替,最后进行位交换。

实现代码

def encrypt(number):# 将每位数字都加上5number += 5# 用和除以10的余数代替每位数字encrypted = 0for i in range(4):digit = number % 10encrypted += digit * (10 ** i)number //= 10# 进行位交换encrypted = (encrypted % 10) * 1000 + (encrypted // 1000) * 1 + ((encrypted // 10) % 10) * 10 + ((encrypted // 100) % 10) * 100return encrypted# 测试
number = 1234
encrypted_number = encrypt(number)
print(f"Original number: {number}")
print(f"Encrypted number: {encrypted_number}")

优缺点

优点:

  • 简单易懂,容易实现。

缺点:

  • 实现稍微复杂一些,需要进行多次数学运算。
  • 可读性相对较低。

方法二:字符串操作

解题思路

将数字转换成字符串,然后按照规则进行字符串操作,包括字符的加减和交换。

实现代码

def encrypt(number):# 将数字转换成字符串num_str = str(number)# 对每个字符进行加减和交换操作encrypted_str = ''for i in range(4):digit = int(num_str[i])# 加上5并取余encrypted_digit = (digit + 5) % 10encrypted_str += str(encrypted_digit)# 交换字符位置encrypted_str = encrypted_str[3] + encrypted_str[2] + encrypted_str[1] + encrypted_str[0]# 将字符串转换回整数encrypted_number = int(encrypted_str)return encrypted_number# 测试
number = 1234
encrypted_number = encrypt(number)
print(f"Original number: {number}")
print(f"Encrypted number: {encrypted_number}")

优缺点

优点:

  • 使用字符串操作更容易理解。

缺点:

  • 需要进行多次字符串操作,性能可能略低于数学运算方法。
  • 字符串操作可能需要额外的内存空间。

方法三:按位操作

解题思路

使用按位操作对每位数字进行加减和交换操作。

实现代码

def encrypt(number):# 按位操作加5encrypted = 0for i in range(4):digit = (number // (10 ** i)) % 10encrypted_digit = (digit + 5) % 10encrypted += encrypted_digit * (10 ** i)# 进行位交换encrypted = (encrypted % 10) * 1000 + (encrypted // 1000) * 1 + ((encrypted // 10) % 10) * 10 + ((encrypted // 100) % 10) * 100return encrypted# 测试
number = 1234
encrypted_number = encrypt(number)
print(f"Original number: {number}")
print(f"Encrypted number: {encrypted_number}")

优缺点

优点:

  • 使用按位操作,较数学运算方法性能稍好。
  • 代码相对简单,可读性较高。

缺点:

  • 仍需要进行多次数学运算和位操作。

总结

三种方法都可以实现加密任务,具体选择取决于个人偏好和项目需求。如果希望代码简洁易读,方法二(字符串操作)可能是一个好选择。如果性能是关键因素,方法三(按位操作)可能更好,因为它不需要进行字符串转换。方法一(数学运算)虽然可行,但相对较复杂,可读性较低,通常不是首选。

综合考虑,方法三(按位操作)通常是一个不错的选择,因为它兼顾了性能和代码简洁度。

http://www.yayakq.cn/news/821798/

相关文章:

  • 辽阳微网站建设wordpress彩票
  • 网上怎么做网站赚钱网页如何制作网站
  • 展示型网站建设商丘网站建设商丘
  • 想找公司做网站网络推广公司如何做
  • 河北三河建设厅网站竞网网站建设
  • 郑州网站建设方案一般做网站都在什么网做
  • 潍坊企业网站模板建站移动端h5网站开发服务
  • 国外 创意 网站网站建设技术人员要会什么
  • 开发软件的网站平台个人网站设计
  • 电脑网站做名片用dw个人网站怎么做
  • 网站建设到本地h5制作官网
  • 影楼做网站休闲旅游产品营销网站的建设策略
  • 安阳做网站哪里好互联网建设与管理
  • 网站建设公司新员工培训ppt模板网站建设需要注意问题
  • 免费网站建站平台企业网站备案要多久
  • 房地产开发建设网站分享网站模板
  • 沈阳企业模板建站修改数据库密码 进不了网站后台
  • 做羞羞的事的网站网站托管共享服务器费用一年多少钱
  • 免费ppt模板免费下载完整版免费seo优化效果
  • 室内设计网站源码下载广西排名前十的模板厂
  • 色无极网站正在建设中网站功能需求用什么做
  • 网站评论列表模板广东企业网站seo哪家好
  • 美化网站公司建e设计网
  • 苏州哪个网站建设最好四川网站建设设计公司
  • 灰色行业网站学校网站建设都是谁做的
  • 要做一个网站得怎么做管理咨询公司名称
  • 中山网站建设文化服务滨海做网站哪家好
  • 企业网站模板 html中国三大门户网站是哪三个
  • 商标网站建设政务信息网站建设方案
  • 网站域名 被别人备案2023年最新法定传染病有哪些