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

用table做网站同城广告发布平台

用table做网站,同城广告发布平台,随州网站建站,对比插件 wordpress目录 同余定理哈希函数加密算法 余数有很多的应⽤场景,⽐如散列函数、加密算法,循环冗余校验等等。生活中也有很多与余数有关的例子。 比如,你要将1147条数据分页写入,每页10条,计算总页数。就可以用1147除以10&#x…

目录

    • 同余定理
    • 哈希函数
    • 加密算法

余数有很多的应⽤场景,⽐如散列函数、加密算法,循环冗余校验等等。生活中也有很多与余数有关的例子。

  • 比如,你要将1147条数据分页写入,每页10条,计算总页数。就可以用1147除以10,商114,余7,所以总页数就是114+1=115,最后的余数7就是多出来不够⼀页的数据。

  • 再比如,今天是星期四,你需要知道50天之后是星期几,就可以用50除以7(⼀个星期有7天),余1 。然后在今天的基础上加⼀天,也就是50天之后是星期五。

余数总是在⼀个固定的范围内。比如你拿任何⼀个整数除以7,得到的余数肯定是在0~6之间的某⼀个数。所以当我们知道今天是星期⼀,那便可以知道这⼀天之后的第1万天、10万天是星期几。

比如:

a = 123456
b = 7
c = a % b
print(c) #余4
a = 7125893
b = 7
c = a % b
print(c) #余5

整数是没有边界的,它可能是正无穷,也可能是负无穷。但是余数却可以通过某⼀种关系,让整数处于⼀个确定的边界内。假如今天是星期⼀,求从今天开始的100天⾥有多少个星期? 用100除以7,商14余2,也就是说这100天⾥有14周多2天。

换个⻆度可以说:这100天⾥,第1天、第8天、第15天等等,在余数的世界⾥都被认为是同⼀天,因为它们的余数都是1,都是星期⼀。同理,第2天、第9天、第16天余数都是2,都是星期⼆。

同余定理

这些数的余数都是⼀样的,所以被归类到了⼀起,这⼀结论被称为同余定理。就是两个整数a和b,如果它们除以正整数n得到的余数相等,我们就可以说a和b对于模n同余。也就是说所有星期⼀都是同余的,同理,星期二、星期三、星期四等等这些天也都是同余的。还有我们经常提到的奇数和偶数,其实也是同余定理的⼀个应用。

同余定理是一种在数学中广泛应用的方法,用于判断两个整数之间是否具有某种关系。可以通过使用模运算符(%)来实现同余定理,从而对数据进行分类。以下是一个简单的同余定理示例,用于将整数分为三类:

def classify(num):if num % 3 == 0:return "Class A"elif num % 3 == 1:return "Class B"else:return "Class C"

不管你的模是几,最终得到的余数肯定都在⼀个范围内。比如除以7,可以得到了星期几;除以2,就得到了奇偶数。所以按照这种方式, 我们就可以把无穷多个整数分成有限的类。比如哈希函数。

生成随机数也是同余定理的常见应用。 a、c、m分别是同余定理中的参数,x是初始值,循环生成随机数时,每次将当前的x带入同余公式中计算,得到新的x值。在使用同余定理生成随机数时,需要选择合适的参数和初始值,否则可能会出现随机数分布不均匀或者重复的情况。

# 定义参数
a = 1103515245
c = 12345
m = 2**32# 定义初始值
x = 0# 循环生成随机数
for i in range(10):x = (a * x + c) % mprint(x)

哈希函数

在每个编程语言中,都会有对应的哈希函数。哈希有的时候也会被译为散列,简单来说,它就是将任意⻓度的输⼊,通过哈希算法,压缩为某⼀固定⻓度的输出。

假如你想要快速读写100万条数据记录,要达到高速地存取,最理想的情况是开辟⼀个连续的空间存放这些数据,这样可以减少寻址的时间。当我们并没有能够容纳100万条记录的连续地址空间时可以看看系统是否可以提供若干个较小的连续空间并能存放⼀定数量的记录。比如我们找到了100个较⼩的连续空间,这些空间彼此之间是被分隔开来的,但是内部是连续的,并足以容纳1万条记录连续存放,那就可以使⽤同余定理来设计⼀个散列函数,实现哈希表的结构。

def hash_function(key):# 假设key是字符串类型hash_value = 0for i in range(len(key)):# 将每个字符的ASCII码相加hash_value += ord(key[i])# 取余数得到哈希值return hash_value % 10

上述代码实现了一个简单的哈希函数,它将输入的字符串中每个字符的ASCII码相加,并取余数得到哈希值。在实际应用中,还需要考虑哈希冲突、哈希表大小等因素。

哈希函数是一种将输入映射到固定大小输出的函数,常用于快速查找、数据加密等场景。假设有两条记录,它们的记录标号分别是1和101。我们把这些模100之后余数都是1的,存放到第1个可⽤空间⾥。以此类推,将余数为2的2、102、202等,存放到第2个可⽤空间,将100、200、300等存放到第100个可⽤空间⾥。这样就可以根据求余的快速数字变化,对数据进⾏分组,并把它们存放到不同的地址空间⾥。⽽求余操作本身非常简单,几乎不会增加寻址时间。

加密算法

还可以在公式中加⼊⼀个较⼤的随机数MAX,引⼊MAX随机数可以增强加密算法的保密程度。⽐如说要加密⼀组三位数,设定⼀个这样的加密规则:

  1. 先对每个三位数的个、十和百位数,都加上⼀个较⼤的随机数。
  2. 然后将每位上的数都除以7,⽤所得的余数代替原有的个、十、百位数。
  3. 最后将第⼀位和第三位交换。

这就是⼀个基本的加密变换过程。

import randomdef encrypt(num):# 生成随机数rand_num = random.randint(1000, 9999)# 分离百位、十位和个位a = num // 100b = (num % 100) // 10c = num % 10# 加上随机数a += rand_num // 100b += (rand_num % 100) // 10c += rand_num % 10# 对每位上的数进行除7取余操作a %= 7b %= 7c %= 7# 交换第一位和第三位a, c = c, a# 合并三位数字encrypted_num = a * 100 + b * 10 + creturn encrypted_num# 测试样例
num = 469
encrypted_num = encrypt(num)
print("原始数字:", num)
print("加密后数字:", encrypted_num)
http://www.yidumall.com/news/43693.html

相关文章:

  • 开发公司没有资质有什么影响萧山市seo关键词排名
  • 如何建立网站教程合肥网站优化技术
  • 支付功能网站建设引流推广的句子
  • wordpress缩写是什么意思优化落实疫情防控新十条
  • 做dw网站图片怎么下载游戏推广员
  • 滕州网站建设深圳竞价托管公司
  • 做商品网站的教学视频教程网络推广优化网站
  • 布吉做棋牌网站建设实时疫情最新消息数据
  • 做IP授权的一般看什么网站太原搜索排名提升
  • hbuilder 怎么做企业网站东莞搜索优化十年乐云seo
  • wordpress的建站教程网站设计
  • 合肥 电子商务 网站建设超级seo外链工具
  • 刚建设的网站多久能在百度查到朋友圈广告投放价格表
  • 复兴区网络推广公司以下属于网站seo的内容是
  • 湖北网络推广seoseo实战培训教程
  • 知名网站建设加工百度app平台
  • 给公司做企业网站职业培训机构有哪些
  • 网站详情页用哪个软件做app网站推广平台
  • 专业制作网站费用网络销售平台有哪些
  • 村委会网站源码佛山网站建设维护
  • 做非洲出口的网站营销型企业网站
  • 白沟17网站一起做网店友情链接购买
  • 做公司网站需要几个域名百度seo引流怎么做
  • 好看的html页面模板泰州seo平台
  • 武汉做商城网站建设百度云登陆首页
  • 自己做的网站谁来维护百度学术官网入口
  • 如何进行营销型企业网站的优化关键词歌曲免费听
  • 深圳市住建设局网站优化方案官方网站
  • 邯郸景区网站制作苏州seo关键词优化排名
  • 网站部署到终端机怎么做seo网络优化是什么工作