当前位置:网站首页>【每周一坑】信息加密 +【解答】正整数分解质因数
【每周一坑】信息加密 +【解答】正整数分解质因数
2022-07-06 12:23:00 【Crossin的编程教室】
零基础python入门教程:python666.cn
大家好,欢迎来到 Crossin的编程教室 !
今天给大家来一个我比较喜欢的话题之一:信息加密
当然,这道题算是信息加密的皮毛的皮毛了。
请听题:
阿圆和奇奇在上课的时候传递小抄,但又不想小抄的内容被其他人发现。于是他俩就约定了一种加密方式:
只对信息内容中的英语或者拼音(也就是字母)进行加密,其他符号保留原样
每个字母向后移动5位,成为密文,比如 a->f,k->p
如果向后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 等代码分享网站,只需将代码复制上去保存,即可获得一个分享地址,非常方便。
往期问题可点击文章开头的合集“每周一坑”进入查看。
【解答】正整数分解质因数
本题的一种思路是:
从2开始尝试去整除原数N
如果可以整除,原数更新为 N//i,并输出 i;不能整除就继续试,直到N被自身整除
如果之前已经有质因数,最后剩下的 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
_往期文章推荐_
如需了解付费精品课程及教学答疑服务
请在Crossin的编程教室内回复: 666
边栏推荐
- Pay attention to the partners on the recruitment website of fishing! The monitoring system may have set you as "high risk of leaving"
- 2022年6月语音合成(TTS)和语音识别(ASR)论文月报
- mod_wsgi + pymssql通路SQL Server座
- Unity makes AB package
- rt-thread i2c 使用教程
- 【计网】第三章 数据链路层(4)局域网、以太网、无线局域网、VLAN
- 技术分享 | 抓包分析 TCP 协议
- Initial experience of addresssanitizer Technology
- 某东短信登录复活 安装部署教程
- logstash高速入口
猜你喜欢
数字三角形模型 AcWing 1018. 最低通行费
深度学习分类网络 -- ZFNet
Anaconda安裝後Jupyter launch 沒反應&網頁打開運行沒執行
Transformer model (pytorch code explanation)
OceanBase社区版之OBD方式部署方式单机安装
An East SMS login resurrection installation and deployment tutorial
Social recruitment interview experience, 2022 latest Android high-frequency selected interview questions sharing
Node. Js: express + MySQL realizes registration, login and identity authentication
rt-thread i2c 使用教程
Tencent byte and other big companies interview real questions summary, Netease architects in-depth explanation of Android Development
随机推荐
腾讯字节等大厂面试真题汇总,网易架构师深入讲解Android开发
Linear distance between two points of cesium
爬虫(14) - Scrapy-Redis分布式爬虫(1) | 详解
小微企业难做账?智能代账小工具快用起来
Leetcode brush first_ Maximum Subarray
转让malloc()该功能后,发生了什么事内核?附malloc()和free()实现源
Web开发小妙招:巧用ThreadLocal规避层层传值
BeagleBoneBlack 上手记
Tencent T4 architect, Android interview Foundation
B-杰哥的树(状压树形dp)
An East SMS login resurrection installation and deployment tutorial
青龙面板白屏一键修复
8086 instruction code summary (table)
Groovy basic syntax collation
Groovy基础语法整理
Tencent T3 teaches you hand in hand. It's really delicious
JVM_常见【面试题】
Tencent architects first, 2022 Android interview written examination summary
Standardized QCI characteristics
新一代垃圾回收器—ZGC