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

网络建设费用杭州seo泽成

网络建设费用,杭州seo泽成,学校网站建设方案论文,学校网站建设内容题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下: 每位数字都加上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.ds6.com.cn/news/105464.html

相关文章:

  • 我买了一个备案网站 可是公司注销了今日头条极速版官网
  • 长春百度网站优化百度客服人工
  • 河南住房建设厅网站高质量外链平台
  • 有的网站打开的是html结尾的路径有的不是苹果自研搜索引擎或为替代谷歌
  • 武汉光谷科技职业技术学校怎么样seo网上培训课程
  • 淮安市网站品牌推广的三个阶段
  • 独立程序员做网站青岛seo关键词
  • 互联网行业属于什么行业武汉seo网站管理
  • 织梦仿视频网站模板深圳seo优化排名推广
  • 什么软件做电影短视频网站地推app接任务平台
  • 触屏版网站开发样式学开网店哪个培训机构好正规
  • 怎样做心理咨询网站全网营销式网站
  • 榆林做网站什么是网站推广优化
  • 兰州专业做网站的公司哪家好网站竞价推广怎么做
  • 美国最新疫情seo思维
  • 公司网站打不开是什么原因百度搜题
  • 学校要求做网站网页搜索
  • 教育机构做网站的目的天天外链
  • 怎么做代购彩票网站软文是什么样子的
  • 网站建设人员市场监督管理局上班时间
  • 网站后台做1个多少钱数据指数
  • 广州学做网站成都官网seo厂家
  • c 2015 做网站网站加速
  • 西安网站建设阳建潍坊网站排名提升
  • 外贸网站搜索 引擎优化方法项目外包平台
  • 简述上课网站建设所用的技术架构网易搜索引擎
  • 门户网站部署方案淘宝友情链接怎么设置
  • 企业网站建设方案书模板河南网站推广公司
  • 注册网站的公司名字如何自己开发软件app
  • centos怎么做网站国内seo排名