【每周一坑】信息加密​ +【解答】正整数分解质因数

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 如果之前已经有质因数,最后剩下的 i 就是最后一个质因数;如果没有,说明原数就是质数

零基础python入门教程:python666.cn


大家好,欢迎来到 Crossin的编程教室 !

今天给大家来一个我比较喜欢的话题之一:信息加密

当然,这道题算是信息加密的皮毛的皮毛了。

请听题:

阿圆和奇奇在上课的时候传递小抄,但又不想小抄的内容被其他人发现。于是他俩就约定了一种加密方式:

  1. 只对信息内容中的英语或者拼音(也就是字母)进行加密,其他符号保留原样
  2. 每个字母向后移动5位,成为密文,比如 a->f,k->p
  3. 如果向后5位超过了z,就折回字母开头,比如 x->c

请用一段代码完成此规则的加密和解密。

参考示例:

【加密】

输入:there is a vegetable in your teeth

输出:ymjwj nx f ajljyfgqj ns dtzw yjjym

【解密】

输入:onz sn mzf izt

输出:jiu ni hua duo

附加题

你能否解密出这段文字:


ild gdpsh sxktgvts xc p ldds, pcs x--
x iddz iwt dct athh igpktats qn,
pcs iwpi wph bpst paa iwt sxuutgtcrt.


详细解答和参考代码将在下期栏目中给出,也可以参考其他同学在留言中的代码。


期待各位同学提交解答,更期待你能完成整个系列。

简单代码可直接在留言中提交,较长代码推荐使用 paste.ubuntu.com

codeshare.io 等代码分享网站,只需将代码复制上去保存,即可获得一个分享地址,非常方便。


往期问题可点击文章开头的合集“每周一坑”进入查看。


【解答】正整数分解质因数


原题【每周一坑】正整数分解质因数


本题的一种思路是:

  1. 从2开始尝试去整除原数N
  2. 如果可以整除,原数更新为 N//i,并输出 i;不能整除就继续试,直到N被自身整除
  3. 如果之前已经有质因数,最后剩下的 i 就是最后一个质因数;如果没有,说明原数就是质数


这里之所以不用判断除数 i 是不是质数,是因为 i 是从 2 开始逐个试过来的,如果它可以被更小的数整除,那么之前就已经被处理过了。因此能够被计算到的 i 一定就是质因数。


另外这里有个可以小小优化的点:每次尝试不一定要从2开始,而可以从上一个质因数开始。


参考代码:


n = input('输入待分解的正整数:')
start = 2
is_prime = True
while n > 1:     # 不断分解n,直到分解为1
    for index in range(start, n + 1) :
        if n % index == 0:    # n能被index整除
            n //= index       # n=n//index
            if n == 1:
                if is_prime:
                    print(f'{index}是质数')
                else:
                    print(index) 
            else:             # index 一定是素数
                print(f'{index} * ', end='')
                is_prime = False
            break
    start = index

_往期文章推荐_


【每周一坑】存档

相关文章
|
11月前
|
算法 安全 数据安全/隐私保护
互联网并发与安全系列教程(13) - 信息加密技术(对称&非对称加密)
互联网并发与安全系列教程(13) - 信息加密技术(对称&非对称加密)
62 0
|
11月前
|
安全 算法 Java
互联网并发与安全系列教程(12) - 信息加密技术(单向散列加密)
互联网并发与安全系列教程(12) - 信息加密技术(单向散列加密)
73 0
|
7天前
|
SQL 安全 网络安全
网络安全的盾牌:漏洞防御与信息加密技术
【9月更文挑战第27天】在数字时代,网络安全和信息安全成为维护数据完整性、保密性和可用性的关键因素。本文将探讨网络安全漏洞的概念、成因及预防措施,同时深入讨论加密技术在保护信息安全中的作用。通过分析安全意识的重要性和提升方法,旨在为读者提供一套全面的网络安全知识框架,以增强个人和组织对抗网络威胁的能力。
23 5
|
5月前
|
XML Java 关系型数据库
如何给application.yml文件的敏感信息加密?
本文介绍了如何在SpringBoot应用中使用jasypt进行配置信息的加密解密。首先,需要添加jasypt-spring-boot-starter的依赖,版本至少为3.0.5。接着,在配置文件中设置`jasypt.encryptor.password`等参数。jasypt提供`StringEncryptor`接口用于加密解密,通过该接口可以在测试类中对敏感信息(如数据库用户名和密码)进行加解密。加密后的信息需带有`ENC()`前后缀。推荐将加密密码作为系统属性、命令行参数或环境变量传递,而不是直接写入配置文件。
221 3
|
1月前
|
安全 网络安全 数据安全/隐私保护
网络安全漏洞与加密技术:保护信息的艺术
【8月更文挑战第31天】在数字时代,网络安全和信息安全的重要性日益凸显。本文将探讨网络安全漏洞、加密技术以及提升安全意识等方面的内容。我们将通过实际代码示例和案例分析,深入了解网络攻击者如何利用安全漏洞进行攻击,以及如何运用加密技术来保护数据安全。同时,我们还将讨论如何提高个人和组织的安全意识,以应对不断变化的网络安全威胁。让我们一起探索这个充满挑战和机遇的领域吧!
|
2月前
|
存储 SQL 安全
网络防线:揭秘网络安全漏洞与信息加密的奥秘
在数字时代,网络安全与信息保护如同一场没有硝烟的战争。本文将带您深入了解网络安全的薄弱环节,探索加密技术如何成为守护信息安全的利剑,并强调提升个人和组织安全意识的重要性。从常见漏洞到防护策略,再到加密技术的演变,我们将一步步揭开网络安全的神秘面纱,让您在这个充满未知的数字世界中更加从容不迫。
35 2
|
2月前
|
SQL 安全 算法
网络安全漏洞与加密技术:保护信息的关键
【8月更文挑战第31天】在数字化时代,信息安全成为我们每个人都必须面对的问题。本文将探讨网络安全的漏洞、加密技术以及如何提高安全意识来保护我们的信息。我们将通过一些代码示例,更深入地理解这些概念。无论你是网络专家还是普通用户,这篇文章都将为你提供有价值的信息。让我们一起探索这个充满挑战和机遇的网络世界吧!
|
3月前
|
存储 SQL 安全
现代网络安全与信息保护:漏洞、加密与安全意识
在数字化时代,网络安全和信息保护显得尤为重要。本文探讨了网络安全中的漏洞现象及其影响,分析了加密技术在信息保护中的关键作用,并提出了提升安全意识的方法和建议,以帮助读者更好地应对日益复杂的网络威胁。 【7月更文挑战第7天】
31 2
|
4月前
|
存储 安全 算法
网络安全与信息保护:解析漏洞、加密技术与安全意识
在当今数字化社会中,网络安全与信息保护显得尤为关键。本文深入探讨了网络安全漏洞的种类与影响,加密技术的演变与应用,以及个体与组织在提升安全意识方面的关键作用。通过系统的分析与实例,读者将对如何应对当今复杂的网络安全挑战有更清晰的理解与启发。
38 2
|
3月前
|
算法 安全 数据安全/隐私保护
支付系统---微信支付09------数字签名,现在Bob想要给Pink写一封信,信件的内容不需要加密,怎样能够保证信息的完整性,使用信息完整性的主要手段是摘要算法,散列函数,哈希函数,H称为数据指纹
支付系统---微信支付09------数字签名,现在Bob想要给Pink写一封信,信件的内容不需要加密,怎样能够保证信息的完整性,使用信息完整性的主要手段是摘要算法,散列函数,哈希函数,H称为数据指纹
下一篇
无影云桌面