python-FILIP/字符串p形编码/数字三角形

news2024/10/4 21:09:08

一:FILIP
题目描述

给你两个十进制正整数 a,b​,输出将这两个数翻转后的较大数。
「翻转」在本题中的定义详见「说明 / 提示」部分。
输入
第一行,两个十进制正整数 a,b。
输出
第一行,a 和 b 翻转后的较大数。
样例输入1
734 893

样例输出1
437

样例输入2
221 231

样例输出2
132

样例输入3
839 237

样例输出3
938

提示
「翻转」在本题中的定义
设原数有 f 位,最高位为 a1​,第二位为 a2​,……,第 f 位为 af​。
那么该数的翻转同样有 f 位,最高位为为 af​,第二位为 af−1​,……,第 f 位为 a1​。
数据规模及约定                                                      对于 100% 的数据,100≤a,b≤999,a,b 不含 0 或不为 0。
来源/分类(难度系数:一星)
数学思维


完整代码展示:
a,b=map(str,input().split())
c=list(a)
c.reverse()
d=list(b)
d.reverse()
sum_1=""
sum_2=""
for i in range(0,len(c)):
      sum_1+=c[i]
      sum_2+=d[i]
if sum_1>=sum_2:
     print(sum_1)
else:
       print(sum_2)

a,b=map(str,input().split())
c=list(a)
c.reverse()
d=list(b)
d.reverse()
sum_1=""
sum_2=""
for i in range(0,len(c)):
    sum_1+=c[i]
    sum_2+=d[i]
if sum_1>=sum_2:
    print(sum_1)
else:
    print(sum_2)


代码解释:
“a,b=map(str,input().split()) ”,导入用户输入的两个十进制整数a,b并将其转换为字符串。
“c=list(a)
 c.reverse()
 d=list(b)
 d.reverse() ”,分别将a,b储存在列表c,d中,再将c,d反转。
“sum_1=""
 sum_2=""
 for i in range(0,len(c)):
       sum_1+=c[i]
       sum_2+=d[i]          ”,建立两个空字符串sum_1,sum_2,依次遍历c,d中元素,sum_1,sum_2分别连接c,d中元素。
“if sum_1>=sum_2:
       print(sum_1)
 else:
        print(sum_2)  ”,判断sum_1是否大于等于sum_2:如果是,则打印sum_1;否则打印sum_2。


运行效果展示:

0c578cc60ece46378c1df327541c40fd.jpg

68e671b617e54c5f92d240debc934c3f.jpg 

 

 

 

 

二:字符串p形编码
题目描述

给定一个完全由数字字符('0','1','2',…,'9')构成的字符串 str ,请写出 str 的 p 型编码串。例如:字符串 122344111 可被描述为 1个1、2个2、1个3、2个4、3个1 ,因此我们说122344111 的 p 型编码串为 1122132431 ;类似的道理,编码串 101 可以用来描述 1111111111 ;00000000000 可描述为 11个0,因此它的p型编码串即为 110 ;100200300 可描述为 1个1、2个 0、1个2、2个0、1个3、2个0,因此它的 p 型编码串为 112012201320。
输入
输入仅一行,包含字符串 str。每一行字符串最多包含 1000 个数字字符。
输出
输出该字符串对应的 pp 型编码串。
样例输入1
122344111

样例输出1
1122132431

来源/分类(难度系数:一星)
每日一题 循环结构


完整代码展示:
a=list(input())
sum1=""
b=1
c=[a[0]]
while b<len(a):
       if a[b]==c[-1]:
            c.append(a[b])
       else:
              sum2=str(len(c))+c[-1]
              sum1+=sum2
              c=[a[b]]
       b+=1
sum1+=str(len(c))+c[-1]
print(sum1)

a=list(input())
sum1=""
b=1
c=[a[0]]
while b<len(a):
    if a[b]==c[-1]:
        c.append(a[b])
    else:
        sum2=str(len(c))+c[-1]
        sum1+=sum2
        c=[a[b]]
    b+=1
sum1+=str(len(c))+c[-1]
print(sum1)


代码解释:
“a=list(input()) ”,导入用户输入的字符串并将其储存在列表a中。
“sum1=""
 b=1
 c=[a[0]]
 while b<len(a):
        if a[b]==c[-1]:
             c.append(a[b])
        else:
               sum2=str(len(c))+c[-1]
               sum1+=sum2
               c=[a[b]]
        b+=1                                    ”,建立一个空字符串sum1,用于连接字符串的p型编码。令b为循环密码子,初始值为1。建立一个列表c,储存列表a的第一个元素。当b<len(a)时:判断a[b]与列表c的末尾元素是否相同:如果相同,则将该元素添加进c中;否则将列表c的长度转换为字符型后与c中最后一个元素连接起来为sum2。再将sum2用sum1连接起来,将储存a[b]的列表赋给c。每循环一次,b+1,直至b==len(a),跳出整个while循环。
“sum1+=str(len(c))+c[-1] ”,将最后一次得到的列表c的长度转换为字符型后与c中最后一个元素连接起来,最后再将其用sum1连接。
“print(sum1) ”,打印sum1的最终结果。


运行效果展示:

079332a947ac44bb86cc33a9fb7b0d3a.jpg

ad3d864d94044cb6ad35499895f61e00.jpg 

 

 

 

 

三:数字三角形
题目描述

打印数字三角形,从 1 开始输出,第 i 行输出 i 个数,每个数字按 4 个位置输出。
输入格式
输入一行,包含一个整数 n。
输出格式
输出共 n 行。
第 i 行包括 i 个数,每个数占据四个位置。
样例输入输出
样例输入

4
样例输出
   1
   2   3
   4   5   6
   7   8   9  10
数据范围
对于 100% 的数据,保证 1≤n≤1000 。
提示说明
c 语言中%4d可以输出一个数,占据四个位置,右对齐。
来源/分类(难度系数:一星)
基本输入输出 循环结构


完整代码展示:
a=int(input())
d=[]
for i in range(1,int(a*(a+1)/2)+1):
      d.append(i)
space=' '
c=1
while c<a+1:
       sum=''
       for i in range(c):
             if len(str(d[i]))==1:
                 sum+=space*3+str(d[i])
             elif len(str(d[i]))==2:
                 sum+=space*2+str(d[i])
             elif len(str(d[i]))==3:
                 sum+=space*1+str(d[i])
             else:
                    sum+=str(d[i])                                               print(sum)
       for j in range(c):
             d.append(d[0])
             del d[0]
       c+=1

a=int(input())
d=[]
for i in range(1,int(a*(a+1)/2)+1):
    d.append(i)
space=' '
c=1
while c<a+1:
    sum=''
    for i in range(c):
        if len(str(d[i]))==1:
            sum+=space*3+str(d[i])
        elif len(str(d[i]))==2:
            sum+=space*2+str(d[i])
        elif len(str(d[i]))==3:
            sum+=space*1+str(d[i])
        else:
            sum+=str(d[i])
    print(sum)
    for j in range(c):
        d.append(d[0])
        del d[0]
    c+=1


代码解释:
“a=int(input()) ”,导入用户输入的三角形的高度a。
“d=[]
 for i in range(1,int(a*(a+1)/2)+1):
       d.append(i)                               ”,建立一个空列表d,接着遍历1~a*(a+1)/2的数字i,并将i添加进d中。
“space=' '
 c=1
 while c<a+1:
        sum=''
        for i in range(c):
              if len(str(d[i]))==1:
                  sum+=space*3+str(d[i])
              elif len(str(d[i]))==2:
                  sum+=space*2+str(d[i])
              elif len(str(d[i]))==3:
                  sum+=space*1+str(d[i])
              else:
                     sum+=str(d[i])
        print(sum)
        for j in range(c):
              d.append(d[0])
              del d[0]
        c+=1                                        ”,space代表一个空格。令c为循环密码子,当c<a+1时:建立一个空字符串sum,接着遍历0~c-1的数字,判断d[i]转换为字符串后的长度,如果为1:sum+space*3+str(d[i])......最后打印sum的最终结果。接着循环c次:将d[0]添加进d的末尾,并将d[0]从d中删除。每循环一次,c+1,直至c==a+1时,跳出整个while循环。


运行效果展示:

5789db69344b405f82cc65b60106df59.jpg

2355bb49ddf14bb593bf15b06b9c5fe7.jpg(声明:以上内容均为原创) 

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

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

相关文章

《凡人修仙传》TXT精校全本|知轩藏书校对版!

看了动漫版&#xff0c;准备重温下原著&#xff0c;有好几年没看了。 最近找到了知轩藏书的校对版&#xff0c;堪称精校&#xff0c;nice&#xff01; TXT&#xff0c;14.5MB&#xff1a; https://pan.quark.cn/s/c6446be393fa

二叉树进阶学习——从中序和后续遍历序列构建二叉树

1.题目解析 题目来源&#xff1a;106.从中序和后序遍历序列构造二叉树 测试用例 2.算法原理 后序遍历&#xff1a;按照左子树->右子树->根节点的顺序遍历二叉树&#xff0c;也就是说最末尾的节点是最上面的根节点 中序遍历&#xff1a;按照左子树->根节点->右子树…

gm/ID设计方法学习笔记(一)

前言&#xff1a;为什么需要gm/id &#xff08;一&#xff09;主流设计方法往往侧重于强反型区&#xff08;过驱>0.2V&#xff09;&#xff0c;低功耗设计则侧重于弱反型区&#xff08;<0&#xff09;&#xff0c;但现在缺乏对中反型区的简单和准确的手算模型。 1.对于…

C++系列-二叉搜索树

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 二叉搜索树 二叉搜索树又称二叉排序树&#xff0c;它或者是一颗空树&#xff0c;或者是具有以下性质的树 若它的左子树不为空&#xff0c;则左子树上的所有节点的值都小于根节点…

大数据实时数仓Hologres(四):基于Flink+Hologres搭建实时数仓

文章目录 基于FlinkHologres搭建实时数仓 一、使用示例 二、方案架构 1、架构优势 2、Hologres核心优势 三、实践场景 四、项目准备 1、创建阿里云账号AccessKey 2、准备MySQL数据源 五、构建实时数仓​编辑 1、管理元数据 2、构建ODS层 2.1、创建CDAS同步作业OD…

鸿蒙网络管理模块03——多播DNS管理

如果你也对鸿蒙开发感兴趣&#xff0c;加入“Harmony自习室”吧&#xff01;扫描下方名片&#xff0c;关注公众号&#xff0c;公众号更新更快&#xff0c;同时也有更多学习资料和技术讨论群。 1、概述 多播DNS也简称MDNS(Multicast DNS)&#xff0c;他主要提供局域网内的本地服…

NVIDIA Ampere 架构

全球超强弹性数据中心的核心。 文章目录 前言一、突破性创新1. 第三代 Tensor 核心2. 多实例 GPU (MIG)3. 第三代 NVLink4. 结构化稀疏5. 第二代 RT 核心6. 更聪明、快速的内存二、为规模化部署而优化1. 为各种服务器优化性能2. 统一计算和网络加速3. 密度优化的设计4. 安全部署…

leetcode练习 路径总和II

给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum 22 输出&a…

ElasticSearch备考 -- 查询模版

一、题目 ### 基础版 Create a search template for the above query, so that the template (i) is named "with_response_and_tag", (ii) has a parameter "with_min_response" to represent the lower bound of the response field, (iii) has a parame…

二叉树进阶学习——从前序和中序遍历序列构造二叉树

1.题目解析 题目来源&#xff1a;105.从前序与中序遍历序列构造二叉树——力扣 测试用例 2.算法原理 首先要了解一个概念 前序遍历&#xff1a;按照 根节点->左子树->右子树的顺序遍历二叉树 中序遍历&#xff1a;按照 左子树->根节点->右子树的顺序遍历二叉树 题目…

10款好用的开源 HarmonyOS 工具库

大家好&#xff0c;我是 V 哥&#xff0c;今天给大家分享10款好用的 HarmonyOS的工具库&#xff0c;在开发鸿蒙应用时可以用下&#xff0c;好用的工具可以简化代码&#xff0c;让你写出优雅的应用来。废话不多说&#xff0c;马上开整。 1. efTool efTool是一个功能丰富且易用…

java入门基础(一篇搞懂)

​ 如果您觉得这篇文章对您有帮助的话 欢迎您分享给更多人哦 感谢大家的点赞收藏评论&#xff0c;感谢您的支持&#xff01;&#xff01;&#xff01; 首先给大家推荐比特博哥&#xff0c;java入门安装的JDk和IDEA社区版的安装视频 JDK安装与环境变量的配置 IDEA社区的安装与使…

多线程-初阶(1)

本节⽬标 • 认识多线程 • 掌握多线程程序的编写 • 掌握多线程的状态 • 掌握什么是线程不安全及解决思路 • 掌握 synchronized、volatile 关键字 1. 认识线程&#xff08;Thread&#xff09; 1.1 概念 1) 线程是什么 ⼀个线程就是⼀个 "执⾏流". 每个线…

数据在内存中的存储【上】

一.整型在内存中的存储 在讲解操作符的时候&#xff0c;我们就讲过了下面的内容&#xff1a; 整数的2进制表示方法有三种&#xff0c;即 原码、反码和补码 有符号的整数&#xff0c;三种表示方法均有符号位和数值位两部分&#xff0c;符号位都是用0表示"正"&#xff…

Java之队列

1. 概念 队列&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性 特点&#xff1a; 队列具有先进先出FIFO(First In First Out) 入队列&#xff1a;进行插入操作的一端称为队尾&#xff08;Tail/Rear&#xff09; 出队列&#xff1a;进…

Pikachu-Sql-Inject - 基于时间的盲注

基于时间的盲注&#xff1a; 就是前端的基于time 的盲注&#xff0c;什么错误信息都看不到&#xff0c;但是还可以通过特定的输入&#xff0c;判断后台的执行时间&#xff0c;从而确定注入。 mysql 里函数sleep() 是延时的意思&#xff0c;sleep(10)就是数据库延时10 秒返回内…

【C++】异常处理

目录 一、C语言中传统的异常处理方式&#xff1a; 二、C中的异常处理方式&#xff1a; 三、异常的使用 1、关于抛出与捕获&#xff1a; 2、关于异常的抛出和匹配&#xff1a; 3、异常的重新抛出&#xff1a; 4、异常安全&#xff1a; 5、异常规范&#xff1a; 四、异常…

idea 同一个项目不同模块如何设置不同的jdk版本

在IntelliJ IDEA中&#xff0c;可以为同一个项目中的不同模块设置不同的JDK版本。这样做可以让你在同一个项目中同时使用多个Java版本&#xff0c;这对于需要兼容多个Java版本的开发非常有用。以下是设置步骤&#xff1a; 打开项目设置&#xff1a; 在IDEA中&#xff0c;打开你…

Git 下载及安装超详教程(2024)

操作环境&#xff1a;Win 10、全程联网 一、什么是Git&#xff1f; Git 是一个开源的分布式版本控制系统&#xff0c;由 Linus Torvalds 创立&#xff0c;用于有效、高速地处理从小到大的项目版本管理。Git 是目前世界上最流行的版本控制系统&#xff0c;被广泛用于软件开发中…

论文翻译 | Generated Knowledge Prompting for Commonsense Reasoning

摘要 整合外部知识是否有利于常识推理&#xff0c;同时保持预训练序列模型的灵活性&#xff0c;这仍然是一个悬而未决的问题。为了研究这个问题&#xff0c;我们开发了生成知识提示&#xff0c;它包括从语言模型生成知识&#xff0c;然后在回答问题时提供知识作为附加输入。我们…