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

《解决两道有趣的编程问题:交替数字和与简单回文》

在编程的世界里,算法和逻辑的挑战无处不在。今天,我们将用 Python 来解决两道有趣的编程问题,分别是计算交替数字和以及生成简单回文。

一、交替数字和(Alternating Sum of Numbers)

1. 问题描述

给定一系列整数,我们需要输出这个序列的交替和。也就是说,我们按照正负交替的方式对序列中的数字进行求和。例如,对于序列1, 2, 3, 4,其交替和为1 - 2 + 3 - 4 = -2

2. Python 代码实现

t = int(input())
for _ in range(t):n = int(input())s = 0for i in range(n):a = int(input())if i % 2 == 0:s += aelse:s -= aprint(s)

3. 代码解释

  • 首先,我们使用int(input())读取测试用例的数量t。这表示我们将处理t组数据。
  • 然后,我们进入一个for循环,循环t次,处理每一个测试用例。
  • 对于每个测试用例,我们先读取序列的长度n,这告诉我们当前序列中有多少个数字。
  • 接着,我们初始化一个变量s为 0,这个变量将用于存储我们计算得到的交替和。
  • 再进入一个内层的for循环,循环n次,用于读取序列中的每个数字。
  • 对于每个数字a,我们通过判断其索引i来决定是加还是减。如果i是偶数,我们就将a加到s中;如果i是奇数,我们就从s中减去a
  • 最后,我们打印出计算得到的交替和s

二、简单回文(Simple Palindrome)

1. 问题描述

Narek 需要和一些 2 岁的孩子在幼儿园度过 2 个小时。他想教他们竞技编程,而他们的第一堂课是关于回文。Narek 发现孩子们只认识英文字母中的元音字母(a, e, i, o, u),所以 Narek 需要生成一个只由元音字母组成的字符串。在生成字符串后,他将让孩子们数这些字符串中的回文子串数量。Narek 希望保持简单,所以他在寻找一种使得回文子串数量最小的字符串。

2. Python 代码实现

def is_palindrome(s, start, end):while start < end:if s[start]!= s[end]:return 0start += 1end -= 1return 1def count_palindromes(s):count = 0for i in range(len(s)):for j in range(i, len(s)):if is_palindrome(s, i, j):count += 1return countt = int(input())
for _ in range(t):n = int(input())vowels = ['a', 'e', 'i', 'o', 'u']if n == 2:for a in vowels:for b in vowels:s = a + bprint(s)elif n == 3:for a in vowels:for b in vowels:for c in vowels:s = a + b + cprint(s)elif n == 6:for a in vowels:for b in vowels:for c in vowels:for d in vowels:for e in vowels:for f in vowels:s = a + b + c + d + e + fprint(s)

3. 代码解释

  • 首先,我们定义了一个函数is_palindrome,用于判断一个字符串的子串是否是回文。
    • 它接受字符串s以及子串的起始索引start和结束索引end作为参数。
    • 在函数内部,我们通过一个while循环从两端向中间比较字符,如果发现不匹配的字符,就返回 0(表示不是回文),如果比较完所有字符都匹配,就返回 1(表示是回文)。
  • 接着,我们定义了count_palindromes函数,用于计算一个字符串中回文子串的数量。
    • 它通过两个嵌套的for循环来生成所有可能的子串,并调用is_palindrome函数来检查每个子串是否是回文,如果是回文就增加计数。
  • 然后,我们读取测试用例的数量t
  • 对于每个测试用例,我们读取字符串的长度n
  • 根据n的值(2、3 或 6),我们通过嵌套的循环生成由元音字母('a', 'e', 'i', 'o', 'u')组成的所有可能字符串,并打印出来。例如,当n = 2时,我们通过两层循环来生成所有由两个元音字母组成的字符串。

通过以上的代码和解释,我们成功地解决了这两道编程问题。希望这篇文章能够帮助你更好地理解如何运用 Python 来解决这类有趣的算法问题。

相关文章:

《解决两道有趣的编程问题:交替数字和与简单回文》

在编程的世界里&#xff0c;算法和逻辑的挑战无处不在。今天&#xff0c;我们将用 Python 来解决两道有趣的编程问题&#xff0c;分别是计算交替数字和以及生成简单回文。 一、交替数字和&#xff08;Alternating Sum of Numbers&#xff09; 1. 问题描述 给定一系列整数&am…...

2412d,d的8月会议

原文 总结 替换D的逃逸分析 Rikki说,他一个月前曾与Dennis讨论过简化D的逃逸分析,但没有结果.在BeerConf上,他再次提起了它,Dennis说他一直在考虑它. Rikki也与Walter谈过这件事,Walter曾说过DIP1000并没有完全如期工作,且有点太复杂了. 因此,Rikki想讨论按D逃逸分析方法替…...

WEB自动化测试(selenium工具)框架、面试题

一、什么是web自动化测试 让程序员代替人为去验证web项目功能的过程 二、什么web项目适合自动化测试 1)需求变动不频繁 测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁&#xff0c;测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本&…...

前端自动化部署之ssh2和ssh2-sftp-client

ssh2-sftp-client 本身是一个专门用于处理 SFTP文件操作的库&#xff0c;它不直接提供执行远程命令的功能。但是可以通过它的底层依赖库 ssh2 实现执行命令的功能。 以下是实现方法和示例代码&#xff1a; 方法一&#xff1a;使用 ssh2 执行远程命令 ssh2 是 ssh2-sftp-client…...

python pandas 优化内存占用(一)

最近我用python处理excel&#xff0c;使用的是pandas库&#xff0c;我发现pandas库非常占用内存&#xff0c;一直想研究下如何优化pandas的内存占用&#xff0c;但一直没腾出空来&#xff0c;最近终于有时间研究一把了&#xff0c;我先把优化方法写上&#xff0c;如果你想了解更…...

FutureCompletableFuture实战

1. Callable&Future&FutureTask介绍 直接继承Thread或者实现Runnable接口都可以创建线程&#xff0c;但是这两种方法都有一个问题就是&#xff1a;没有返回值&#xff0c;也就是不能获取执行完的结果。因此java1.5就提供了Callable接口来实现这一场景&#xff0c;而Fu…...

Loki 微服务模式组件介绍

目录 一、简介 二、架构图 三、组件介绍 Distributor&#xff08;分发器&#xff09; Ingester&#xff08;存储器&#xff09; Querier&#xff08;查询器&#xff09; Query Frontend&#xff08;查询前端&#xff09; Index Gateway&#xff08;索引网关&#xff09…...

peerDependencies对等依赖

在 package.json 中平时常用的有字段有 dependencies 和 devDependencies&#xff0c;但 peerDependencies 平时都没咋看到过&#xff0c;今天具体讲讲 peerDependencies 的作用 一、什么是对等依赖 peerDependencies 可以翻译为“对等依赖”或“同行依赖”。这个术语在 npm …...

贪心算法 part01

class Solution { public:int maxSubArray(vector<int>& nums) {int result INT32_MIN;int count 0;for (int i 0; i < nums.size(); i) {count nums[i];if (count > result) { // 取区间累计的最大值&#xff08;相当于不断确定最大子序终止位置&#xff…...

java开发入门学习二 - 变量

目录 一 关键字 ​编辑 二 标识符 三 变量 变量数据类型 变量注意点 四 数据类型 前置知识 - 计算机存储单位 整型数据类型 浮点数据类型 字符数据类型 布尔数据类型 五 数据类型间的计算 基本数据类型之间的计算 自动类型提升 强制类型转换 引用数据类型 Sti…...

Qt Q_ENUM enum 转 QString 枚举字符串互转; C++模板应用

Part1: Summary 项目中我们常用到命名&#xff0c;使用 enum 转成 string &#xff0c;方便简洁&#xff1b;Qt给我们提供了一个很方便的功能 Q_ENUM&#xff0c;可以实现枚举字符串互转&#xff1b; Q_ENUM宏将枚举注册到元对象系统中&#xff1b; QMetaEnum::fromType获取枚…...

0004.基于springboot+elementui的在线考试系统

适合初学同学练手项目&#xff0c;部署简单&#xff0c;代码简洁清晰&#xff1b; 愿世界和平再无bug 一、系统架构 前端&#xff1a;vue| elementui 后端&#xff1a;springboot | mybatis-plus 环境&#xff1a;jdk1.8 | mysql | maven 二、登录角色 1.管理员 2.老师 …...

基于 iAP2 协议 的指令协议,用于对安防设备的 MCU 进行操作

协议设计目标 1. 安全性&#xff1a;通过 iAP2 协议与 MCU 设备进行安全通信。 2. 通用性&#xff1a;支持对安防设备的常见功能进行操作&#xff0c;如状态查询、设备控制、参数配置等。 3. 高效性&#xff1a;数据结构简洁清晰&#xff0c;易于解析和扩展。 4. 扩展性&#x…...

02-5.python入门基础一控制流(while)

Python 控制流是指控制程序执行顺序的机制&#xff0c;它允许程序根据不同的条件和情况执行不同的代码块或重复执行某些代码。 while 循环的用法与示例 语法结构及要点 在 Python 中&#xff0c;while循环是一种基于条件判断的循环结构&#xff0c;其语法构成如下&#xff1a;…...

Go语言开发入门与实战

Go语言(简称Golang)由Google开发,是一门现代化的编程语言,因其简洁高效、并发支持友好、跨平台特性而在后端服务开发、云计算等领域大放异彩。本文将介绍Go语言的基本特点、开发环境配置,并通过一个简单的实战项目带领大家快速上手。 一、Go语言的特点 简单易学:语法简洁…...

HarmonyOS Next应用开发实战:ArkWeb组件使用介绍及使用举例

ArkWeb简介 ArkWeb&#xff08;方舟Web&#xff09;是HarmonyOS Next中提供的一个Web组件&#xff0c;主要用于在应用程序中显示Web页面内容。这个组件使得开发者可以在HarmonyOS应用中嵌入Web页面&#xff0c;从而降低开发成本&#xff0c;提升开发和运营效率。 使用场景 A…...

【已解决】在Visual Studio里将应用与Microsoft Store关联时提示网络异常

发布Windows应用时。在Visual Studio里点击"发布“&#xff0c;将应用与Microsoft Store关联时&#xff0c;一直提示网络错误。 查了一下论坛&#xff0c;发现之前也经常出现&#xff0c;但我是第一次遇到。 不能就这样一直被卡着呀&#xff0c;研究了一下&#xff0c;还…...

springcloud-gateway获取应用响应信息乱码

客户端通过springcloud gateway跳转访问tongweb上的应用&#xff0c;接口响应信息乱码。使用postman直接访问tongweb上的应用&#xff0c;响应信息显示正常。 用户gateway中自定义了实现GlobalFilter的Filter类&#xff0c;在该类中获取了上游应用接口的响应信息&#xff0c;直…...

[笔记]关于Qt的nativeEvent事件无法接收window消息的Bug

1.nativeEvent事件无法接收window消息 此处不是nativeEvent不能接收&#xff0c;是possmessage一定要写对发送的软件名称&#xff0c;这个名称在Qt中是主界面类的名称&#xff0c;就是主界面UI的名称&#xff0c;而不是rc文件中定义的名称。 所以在FindWindow函数获取目标窗口…...

LeetCode 热题 100_K 个一组翻转链表(31_25_困难_C++)(四指针法)

LeetCode 热题 100_K 个一组翻转链表&#xff08;31_25&#xff09; 题目描述&#xff1a;输入输出样例&#xff1a;题解&#xff1a;解题思路&#xff1a;思路一&#xff08;四指针法&#xff09;&#xff1a; 代码实现代码实现&#xff08;思路一&#xff08;四指针法&#x…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合

无论是python&#xff0c;或者java 的大型项目中&#xff0c;都会涉及到 自身平台微服务之间的相互调用&#xff0c;以及和第三发平台的 接口对接&#xff0c;那在python 中是怎么实现的呢&#xff1f; 在 Python Web 开发中&#xff0c;FastAPI 和 Django 是两个重要但定位不…...