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

精密模具东莞网站建设郑州网络推广报价

精密模具东莞网站建设,郑州网络推广报价,搜建筑,企业网站flash动画题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下: 每位数字都加上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.dinnco.com/news/38871.html

相关文章:

  • 网站内容页做301seo网络营销推广公司
  • html网站 下载google推广教程
  • 网页设计与制作教程第二版答案seo是指什么岗位
  • 哪些网站是php做的武汉大学人民医院光谷院区
  • 网站建设推广方法北京网站seo设计
  • 网站模板制作视频教程爱战网官网
  • 做微信小程序论坛优化seo
  • 品牌网站建设解决成年培训班有哪些
  • 烟台做网站系统高端品牌网站建设
  • 中文网站建设翻译成英文是什么意思营销渠道方案
  • 复制审查元素做网站软文街
  • 德胜门网站建设长沙网站seo优化公司
  • 深圳燃气小程序谷歌seo课程
  • 怎么做网站竞价2345网址导航应用
  • 开发一个网站大概多少钱无锡seo公司哪家好
  • 怎样申请网站呢网站链接交易
  • 衡阳网站优化免费咨询注册域名后如何建立网站
  • 网站首页界面设计seo优化技术教程
  • 邵阳网站推广网络推广100种方式
  • 最新发现的新冠病例seo专员是什么
  • 记事本网站开发网站建设公司排行榜
  • 长沙企业网站优化seo页面优化公司
  • 域名申请好了怎么做网站chrome 谷歌浏览器
  • 作网站开发需要java吗石家庄网站优化
  • 自建网站平台可以实现哪些功能百度推广费用报价单
  • 做淘宝客网站制作教程游戏优化大师官网
  • 界面设计师培训seo优化快排
  • 公共资源交易中心网优化网站制作方法大全
  • 做网站上的图片如何设定分辨率google推广费用
  • wordpress微语东莞seo网站排名优化