python-求一个整数的质因数/字符串的镜像/加数

news2024/11/30 6:49:31

一:求一个整数的质因数
题目描述

编写一个程序,返回给定整数的质因数。
定义函数get_prime_factors(),该函数接受一个参数num(正整数)。
该函数应返回传入参数的质因数列表,且从小到大排序。
比如150的质因数分解如下:
150 = 2*3*5*5
因此,150的质因数是[2, 3, 5]。
示例输入
150
示例输出
[2, 3, 5]
解释: 150的质因数是[2, 3, 5]。
在返回的列表中某个质因数只出现一次。
判断num是为质数,可直接使用函数is_prime()。
来源/分类(难度系数:一星)
数组 循环结构


完整代码展示:
a=int(input())
b=[]
for i in range(2,a):
      j=2
      k=int(pow(i,0.5))
      while j<=k:
             if i%j==0:
                 break
             j+=1
      if j>k and a%i==0:
          b.append(i)
b.sort()
print(b)

a=int(input())
b=[]
for i in range(2,a):
    j=2
    k=int(pow(i,0.5))
    while j<=k:
        if i%j==0:
            break
        j+=1
    if j>k and a%i==0:
        b.append(i)
b.sort()
print(b)


代码解释:
“a=int(input()) ”,导入用户输入的需要分解质因数的整数a。
“b=[]
 for i in range(2,a):
       j=2
       k=int(pow(i,0.5))
       while j<=k:
              if i%j==0:
                  break
              j+=1
       if j>k and a%i==0:
           b.append(i)     ”,建立一个空列表b,接着依次遍历2~a-1的数字i,根据质数的定义判断i是否为质数:如果i是质数且i能将a整除,则将i添加进b中。
“b.sort()
 print(b) ”,对b中元素进行升序排序,最后打印b。


运行效果展示:

9e1a937bd0c34e63a367e244b9dc9e62.jpg

5796666455454c03ae2377b6cb7e3308.jpg 

 

 

 

 

二:字符串的镜像
题目描述

一个单词的镜像图像是如果将单词放在镜子前看到的内容。 由于镜子会横向反转图像,所以只有以下字符对才可能形成镜像图像:b 和 d,p 和 q,i 和 i,o 和 o,x 和 x,v 和 v,w 和 w,u 和 u,m 和 m。
编写一个程序来创建一个字符串的镜像图像。
定义函数mirror_image(),它有一个参数str(字符串)。
在函数内部,如果字符串str无法形成镜像图像,返回Not Possible。
否则,返回镜像字符串。
比如void的镜像图像是biov,类似如下:
void | biov
示例输入
void
示例输出
biov
你可以使用[::-1]来反转字符串。
非镜像字符串一定包含不可形成镜像的字符。
来源/分类(难度系数:二星)
字符串 列表


完整代码展示:
a=list(input())
b=['b','d','i','m','o','p','q','u','v','w','x']
sum=0
for i in range(0,len(a)):
      if a[i] in b:
           sum+=1
if sum!=len(a):
     print("Not Possible")
else:
       a.reverse()
       sum=""
       for i in range(0,len(a)):
             if a[i]=="b":
                  sum+="d"
             elif a[i]=="d":
                  sum+="b"
             elif a[i]=="p":
                  sum+="q"
             elif a[i]=="q":
                  sum+="p"
             else:
                    sum+=a[i]
       print(sum)

a=list(input())
b=['b','d','i','m','o','p','q','u','v','w','x']
sum=0
for i in range(0,len(a)):
    if a[i] in b:
        sum+=1
if sum!=len(a):
    print("Not Possible")
else:
    a.reverse()
    sum=""
    for i in range(0,len(a)):
        if a[i]=="b":
            sum+="d"
        elif a[i]=="d":
            sum+="b"
        elif a[i]=="p":
            sum+="q"
        elif a[i]=="q":
            sum+="p"
        else:
            sum+=a[i]
    print(sum)


代码解释:
“a=list(input()) ”,导入用户输入的需要判断是否存在镜像的字符串,并将其储存在列表a中。
“b=['b','d','i','m','o','p','q','u','v','w','x'] ”,建立一个列表b,用于储存b与d等镜像字符。
“sum=0
 for i in range(0,len(a)):
       if a[i] in b:
            sum+=1            ”,令sum=0,遍历a中元素,并判断该元素是否在列表b中:如果在,则sum+1。
“if sum!=len(a):
      print("Not Possible")
 else:
        a.reverse()
        sum=""
        for i in range(0,len(a)):
              if a[i]=="b":
                   sum+="d"
              elif a[i]=="d":
                   sum+="b"
              elif a[i]=="p":
                   sum+="q"
              elif a[i]=="q":
                   sum+="p"
              else:
                     sum+=a[i]
        print(sum)                 ”,判断sum是否等于列表a的长度:如果不是,则打印”Not Possible”;否则将a反转,建立一个空字符串sum,接着遍历a中元素,令sum连接该元素的镜像字符。最后打印sum的最终结果。


运行效果展示:

84f61cb109a24c5c96b2d923542df54d.jpg

8a324c54df7147d8ada0361483f36d8b.jpg 

 

 

 

 

三:加数
题目描述

给出一个正整数 n,在 n 的右边加入 ⌊n/2​⌋,然后在新数的右边再加入 ⌊⌊n/2​⌋/2​⌋​ 一直这样进行下去,直到加入的数为 0 为止(注意,0 不应当被加入)。
求加数结束后新数的长度。
输入
一行一个整数 n。
输出
一行一个整数,为加数结束后新数的长度。
样例输入1
37

样例输出1
8

提示
数据范围:1≤n≤105。
样例解释
⌊37/2​⌋=18,加到 n 的右边成为 3718;
⌊18/2⌋=9,加到新数的右边成为 37189;
⌊ 9/2⌋​=4到新数的右边成为 371894;                  ⌊4/2 ⌋​=2到新数的右边成为 3718942;
⌊2/2 ⌋​ =1到新数的右边成为 37189421;            ⌊1/2 ⌋​ =0数结束,最后得到的数是一个 8 位数。
来源/分类(难度系数:一星)
每日一题 模拟
完整代码展示:

a=int(input())
sum="{}".format(a)
while a>1:
       a=a//2
       sum+=str(a)
print(len(sum))

a=int(input())
sum="{}".format(a)
while a>1:
    a=a//2
    sum+=str(a)
print(len(sum))


代码解释:
“a=int(input()) ”,导入用户需要进行加数处理的数字a。
“sum="{}".format(a) ”,将a转换为字符串并赋值给b。
“while a>1:
        a=a//2
        sum+=str(a) ”,当a>1时:将a替换为a除以2所的数的整数部分。接着令sum连接新数a转换得到的字符串。直至a==1,跳出整个while循环。
“print(len(sum)) ”,打印字符串sum的最终长度。


运行效果展示:

eba4eeabffb94ce09021ab829d592df8.jpg

ce6e281ab5f64b12b886fe019394ffe2.jpg 

               (声明:以上内容均为原创)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2188849.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring MVC__HttpMessageConverter、拦截器、异常处理器、注解配置SpringMVC、SpringMVC执行流程

目录 一、HttpMessageConverter1、RequestBody2、RequestEntity3、ResponseBody4、SpringMVC处理json5、SpringMVC处理ajax6、RestController注解7、ResponseEntity7.1、文件下载7.2、文件上传 二、拦截器1、拦截器的配置2、拦截器的三个抽象方法3、多个拦截器的执行顺序 三、异…

数据结构——计数、桶、基数排序

目录 引言 计数排序 1.算法思想 2.算法步骤 3.代码实现 4.复杂度分析 桶排序 1.算法思想 2.算法步骤 3.代码实现 4.复杂度分析 基数排序 1.算法思想 2.算法步骤 3.代码实现 4.复杂度分析 排序算法的稳定性 1.稳定性的概念 2.各个排序算法的稳定性 结束语 引…

初识Linux · 自主Shell编写

目录 前言&#xff1a; 1 命令行解释器部分 2 获取用户命令行参数 3 命令行参数进行分割 4 执行命令 5 判断命令是否为内建命令 前言&#xff1a; 本文介绍是自主Shell编写&#xff0c;对于shell&#xff0c;即外壳解释程序&#xff0c;我们目前接触到的命令行解释器&am…

基于vue框架的大学生四六级学习网站设计与实现i8o8z(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;学生,训练听力,学习单词,单词分类,阅读文章,文章类型,学习课程 开题报告内容 基于Vue框架的大学生四六级学习网站设计与实现开题报告 一、研究背景与意义 随着全球化进程的加速和国际交流的日益频繁&#xff0c;英语作为国际通用语言…

22.3 解读k8s服务发现源码

本节重点介绍 : discovery.Manager服务发现管理员 注册各个服务发现源启动各个服务发现源处理服务发现的结果 k8s服务发现 k8s-client informer机制 架构图补充 注册各个服务发现源 位置 D:\go_path\src\github.com\prometheus\prometheus\discovery\manager.go去掉部分细节…

ConcurrentHashMap 中的并行性

ConcurrentHashMap 在多线程应用程序中被广泛使用。多线程应用程序的示例包括在线游戏应用程序、聊天应用程序&#xff0c;它为应用程序增加了并发性的好处。为了使应用程序本质上更具并发性&#xff0c;ConcurrentHashMap 引入了一个名为“并行性”的概念。 在本文中&#xf…

飞机导航数据库资料

以上是从网上收集的飞机导航数据库的一些资料。现在放在百度网盘中。 链接&#xff1a;https://pan.baidu.com/s/1fDYuaB0DuyKmYt6C_lXvZQ?pwdkcqj 提取码&#xff1a;kcqj

ZTE RRC重建优化案例

ZTE RRC重建优化案例 随着移动通信网络的不断发展&#xff0c;用户对网络的稳定性和覆盖质量提出了更高的要求。尤其在LTE网络中&#xff0c;RRC&#xff08;Radio Resource Control&#xff09;连接的稳定性直接影响用户体验和业务连续性。然而&#xff0c;在实际网络环境中&a…

案例-表白墙简单实现

文章目录 效果展示初始画面提交内容后画面&#xff08;按键按下&#xff09; 代码区 效果展示 初始画面 提交内容后画面&#xff08;按键按下&#xff09; 代码区 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">…

C++输⼊输出

1.<iostream> 是 Input Output Stream 的缩写&#xff0c;是标准的输⼊、输出流库&#xff0c;定义了标准的输⼊、输 出对象 2.std::cin 是 istream 类的对象&#xff0c;它主要⾯向窄字符&#xff08;narrow characters (of type char)&#xff09;的标准输 ⼊流。 3…

STL之priority_queue篇——深入剖析C++中优先队列的实现原理、核心特性及其底层机制

文章目录 前言一、补充内容&#xff1a;堆1.1 什么是堆1.2 堆的分类与性质1.3 堆的向下调整算法&#xff08;小根堆&#xff09;实现流程&#xff1a;代码&#xff1a; 1.4 堆的向上调整算法&#xff08;小根堆&#xff09;实现流程&#xff1a;代码&#xff1a; 1.5 数组建堆算…

eclpsexxx

Copyright?2001-2004 International Business Machines Corp. Guidelines Eclipse 用户界面指南 2.1 版 查看目录 作者&#xff1a;Nick Edgar, Kevin Haaland, Jin Li , Kimberley Peter 译者&#xff1a;Bobbie Wang&#xff0c;Qi Liang 最新更新: 2004年2月 注意 您…

kaggle实战2信用卡反欺诈逻辑回归模型案例1

信用卡欺诈案例 数据集下载地址 https://storage.googleapis.com/download.tensorflow.org/data/creditcard.csv 参考不平衡数据的分类 文章目录 只进行特征衍生&#xff0c;未进行数据标准化、上才样处理数据不平衡问题&#xff0c;得到的准确率和召回率居然很高如果不处理数据…

李宏毅 X 苹果书 自注意力机制 学习笔记上

self attention 是一种network架构使用场景&#xff1a;输入一组向量&#xff0c;这组向量的性质&#xff1a;数量有变化&#xff0c;序列长度不一 模型输入 文字处理&#xff1a; 模型输入&#xff1a;句子&#xff08;句子的长度&#xff0c;单词都不一样&#xff09;&am…

qt QMainWindow 自定义标题栏

可以使用setMenuWidget 来将自定义的标题栏 QWidget 设置进去就可以&#xff0c; 用来替代setMenu 菜单栏单一&#xff0c;自定义不高的问题

node_exporter使用textfile collector收集业务数据

上一篇文章讲了使用Pushgateway收集业务数据的方法&#xff0c;今天讲另外一种方式textfile collector The textfile collector is similar to the Pushgateway, in that it allows exporting of statistics from batch jobs. The Pushgateway should be used for service-leve…

解决ModuleNotFoundError: No module named ‘torchcrf‘

运行深度学习程序时候&#xff0c;出现报错&#xff1a;ModuleNotFoundError: No module named torchcrf 将 from torchcrf import CRF 改为 from TorchCRF import CRF

无设计器简单实例

目录 1、界面设计Qt5元对象系统1. **QObject 类**2. **QMetaObject**3. **信号和槽机制**4. **宏&#xff1a;Q_OBJECT**5. **动态属性**6. **反射机制**7. **元对象编译器&#xff08;MOC&#xff09;** 2、完成程序功能 1、界面设计 不点创建界面 在dialog.h中 #ifndef DIA…

树莓派5里使用protobuf

由于现在protobuf越来越复杂了&#xff0c;自己去编译&#xff0c;还是比较麻烦。 比如最新的V28版本&#xff0c;就会要求使用cmake或者bazel来编译了。 如果不要求使用最新的版本&#xff0c;直接使用系统里带的版本也是可以的。 可以进行如下操作&#xff1a; sudo apt …

【算法系列-链表】交换链表节点(反转 + 交换)

【算法系列-链表】交换链表节点(反转 交换) 文章目录 【算法系列-链表】交换链表节点(反转 交换)1. 反转链表1.1 思路分析&#x1f3af;1.2 解题过程&#x1f3ac;1.3 代码示例&#x1f330; 2. 两两交换链表中的节点2.1 思路分析&#x1f3af;2.2 解题过程&#x1f3ac;2.3 …