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

做一件代发哪个网站好深圳企业网站制作哪个

做一件代发哪个网站好,深圳企业网站制作哪个,网站建站报价表,成品网站1688入门网版本说明 当前版本号[20231115]。 版本修改说明20231115初版 目录 文章目录 版本说明目录输入起始和结束的正整数,求其两个正整数之间的偶数和。题目解题思路代码思路参考代码 两数相加题目解题思路代码思路参考代码 输入起始和结束的正整数,求其两个…

版本说明

当前版本号[20231115]。

版本修改说明
20231115初版

目录

文章目录

  • 版本说明
  • 目录
  • 输入起始和结束的正整数,求其两个正整数之间的偶数和。
    • 题目
    • 解题思路
    • 代码思路
    • 参考代码
  • 两数相加
    • 题目
    • 解题思路
    • 代码思路
    • 参考代码

输入起始和结束的正整数,求其两个正整数之间的偶数和。

题目

输入起始和结束的正整数,求其两个正整数之间的偶数和。

解题思路

  1. 首先,通过input()函数获取用户输入的起始数和结束数。
  2. 然后,将这两个输入的字符串转换为整数类型,分别赋值给变量ab
  3. 初始化两个变量sum1sum2,用于存储两种不同计算方式下的偶数和。
  4. 使用第一个for循环遍历从ab+1的所有整数(包括b),判断每个整数是否为偶数。如果是偶数,则将其加到sum1中,并将当前整数加2;如果不是偶数,则将当前整数加1。这样可以确保在计算偶数和时,只考虑偶数。
  5. 使用第二个for循环遍历从a+1b的所有整数(不包括b),同样判断每个整数是否为偶数。如果是偶数,则将其加到sum2中,并将当前整数加2;如果不是偶数,则将当前整数加1。这样可以确保在计算偶数和时,不考虑边界上的奇数。
  6. 最后,输出两种计算方式下的偶数和。

代码思路

  1. 首先,通过input函数获取用户输入的起始数和结束数,并将它们转换为整数类型。然后,初始化两个变量sum1和sum2,分别用于存储两种不同计算方式下的偶数和。

    # 获取用户输入的起始数和结束数
    x1 = input("请输入起始数:")
    x2 = input("请输入结束数:")# 将输入的字符串转换为整数
    a = int(x1)
    b = int(x2)# 初始化偶数和为0
    sum1 = 0# 初始化偶数和为0
    sum2 = 0
    
  2. 接下来,使用for循环遍历从a到b(包括b)的所有整数。在循环中,判断当前整数是否为偶数,如果是偶数,则将其加到sum1中,并将i增加2;如果不是偶数,则将i增加1。这样可以确保在计算偶数和时,只考虑偶数。

    # 遍历从a到b(包括b)的所有整数,计算偶数和
    for i in range(a, b+1):if i % 2 == 0:sum1 += ii += 2else:i += 1
    
  3. 同样地,使用另一个for循环遍历从a+1到b-1(不包括b)的所有整数。在循环中,同样判断当前整数是否为偶数,如果是偶数,则将其加到sum2中,并将i增加2;如果不是偶数,则将i增加1。这样可以确保在计算偶数和时,不考虑边界上的奇数。

    # 遍历从a+1到b-1(不包括b)的所有整数,计算偶数和
    for i in range(a+1, b):if i % 2 == 0:sum2 += ii += 2else:i += 1
    
  4. 最后,输出两种计算方式下的偶数和。

# 输出结果
print(str(a)+"到"+str(b)+"之间的偶数和(边界是偶数时算这两个边界)是:"+str(sum1))
print(str(a)+"到"+str(b)+"之间的偶数和(边界是偶数时不算两个边界)是:"+str(sum2))

参考代码

这段代码的主要是计算给定范围内(包括边界)的偶数和。

x1 = input("请输入起始数:")
x2 = input("请输入结束数:")
a = int(x1)
b = int(x2)
sum1 = 0
for i in range(a, b+1):if i % 2 == 0:sum1 += ii += 2else:i += 1
sum2 = 0
for i in range(a+1, b):if i % 2 == 0:sum2 += ii += 2else:i += 1
print(str(a)+"到"+str(b)+"之间的偶数和(边界是偶数时算这两个边界)是:"+str(sum1))
print(str(a)+"到"+str(b)+"之间的偶数和(边界是偶数时不算两个边界)是:"+str(sum2))

两数相加

题目

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

示例 1:

输入:l1 = [2,4,3], l2 = [5,6,4]
输出:[7,0,8]
解释:342 + 465 = 807.

image-20231115233116887

示例 2:

输入:l1 = [0], l2 = [0]
输出:[0]

示例 3:

输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]
输出:[8,9,9,9,0,0,0,1]

提示:

每个链表中的节点数在范围 [1, 100] 内
0 <= Node.val <= 9
题目数据保证列表表示的数字不含前导零

解题思路

  1. 初始化一个空链表,用于存储相加后的结果。
  2. 初始化两个指针,分别指向两个链表的头节点。
  3. 初始化一个变量 carry,用于记录进位值。
  4. 当两个链表都不为空时,执行以下操作: a. 计算当前位置的两个节点的值之和,加上进位值。 b. 如果和大于等于10,更新进位值为1,否则进位值为0。 c. 将和对10取余,作为新节点的值。 d. 将新节点添加到结果链表的末尾。 e. 移动两个指针到下一个节点。
  5. 如果其中一个链表已经遍历完,但另一个链表还有剩余节点,那么将剩余节点的值依次加到结果链表的末尾,并考虑进位值。
  6. 如果最后还有进位值,那么在结果链表的末尾添加一个新节点,值为进位值。
  7. 返回结果链表的头节点。

代码思路

  1. 首先定义了一个链表节点类ListNode,包含节点值val和指向下一个节点的指针next。

    # 定义链表节点类
    class ListNode:def __init__(self, val=0, next=None):self.val = val  # 节点值self.next = next  # 下一个节点
    
  2. 然后定义了一个链表类LinkList,包含一个头节点head,以及初始化链表的方法initList和将链表转换为列表的方法convert_list。

    
    # 定义链表类
    class LinkList:def __init__(self):self.head = None  # 链表头节点# 初始化链表def initList(self, data):self.head = ListNode(data[0])  # 创建头节点r = self.head  # 记录头节点p = self.head  # 当前节点for i in data[1:]:node = ListNode(i)  # 创建新节点p.next = node  # 将新节点添加到当前节点的后面p = p.next  # 更新当前节点为新节点return r  # 返回头节点# 将链表转换为列表def convert_list(self, head):ret = []  # 结果列表if head == None:return ret  # 如果链表为空,返回空列表node = head  # 从头节点开始遍历while node != None:ret.append(node.val)  # 将节点值添加到结果列表中node = node.next  # 移动到下一个节点return ret  # 返回结果列表
    
  3. 接着定义了一个解决方案类Solution,包含一个方法addTwoNumbers,用于实现两个链表的相加操作。

# 定义解决方案类
class Solution:# 两个数字相加def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:lrr = l1  # 记录原始头节点while True:l1.val = l1.val + l2.val  # 计算当前节点的值if l1.next is None and l2.next is None and l1.val < 10:break  # 如果两个链表都遍历完毕且当前节点的值小于10,跳出循环if l1.next is None:l1.next = ListNode(0)  # 如果当前节点是最后一个节点,添加一个值为0的节点if l2.next is None:l2.next = ListNode(0)  # 如果当前节点是最后一个节点,添加一个值为0的节点if l1.val >= 10:l1.val = l1.val - 10  # 如果当前节点的值大于等于10,减去10并进位l1.next.val += 1  # 进位后的数值加到下一个节点上l1 = l1.next  # 移动到下一个节点l2 = l2.next  # 移动到下一个节点return lrr  # 返回原始头节点

参考代码

class ListNode:def __init__(self, val=0, next=None):self.val = valself.next = next
class LinkList:def __init__(self):self.head=Nonedef initList(self, data):self.head = ListNode(data[0])r=self.headp = self.headfor i in data[1:]:node = ListNode(i)p.next = nodep = p.nextreturn rdef    convert_list(self,head):ret = []if head == None:returnnode = headwhile node != None:ret.append(node.val)node = node.nextreturn ret
class Solution:def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:lrr = l1while True:l1.val = l1.val + l2.valif l1.next is None and l2.next is None and l1.val < 10:breakif l1.next is None:l1.next = ListNode(0)if l2.next is None:l2.next = ListNode(0)if l1.val >= 10:l1.val = l1.val - 10l1.next.val += 1l1 = l1.nextl2 = l2.nextreturn lrr
# %%
l = LinkList()
list1 = [2,4,3]
list2 = [5,6,4]
l1 = l.initList(list1)
l2 = l.initList(list2)
s = Solution()
print(l.convert_list(s.addTwoNumbers(l1, l2)))
http://www.yayakq.cn/news/32854/

相关文章:

  • 网站建设培训中心网站收录怎么删
  • 房产网站建设方案项目书网站改版提交 百度
  • html5网站开发原理企业宣传注册哪些论坛 网站好
  • 湘潭网站建设 诚信磐石网络免费跨国浏览器
  • h5企业网站源码wordpress生成的html代码
  • 合肥响应式网站开发微网站建设第一步是进行什么的设置
  • 石家庄招标信息网seo外包服务专家
  • 学习网站大全公司宣传册模板图片
  • 成都蜀美网站建设合肥网络推广营销
  • 建站记录查询海洋seo
  • 网站制作在哪里比较好androidstudio手机版下载
  • 南宁本地有几家网站开发公司做网站费用计什么科目
  • 湛江网站建设公司广州网页设计师培训班
  • 注册网站会员 我们的信息sem招聘
  • 外汇网站怎么做优外汇网站游戏设计培训机构有哪些
  • 上海网站建设穹拓河北建设工程信息交易中心
  • 响应式购物网站公司网站开发招标书
  • 洞口建设局网站泰安 网站建设
  • 网站修改域名服务器服装设计专业大学世界排名
  • 珠海专业做网站的公司网站开发需要的资料
  • 四川建设厅网站招聘做婚庆网站
  • 合肥企业网站建设官方网站企业登录
  • 中文网站模板大全娄底市网站建设制作
  • 建立门户网站wordpress插件扫描
  • asp网站数据库扫描厦门网站建设哪家不错
  • php网站如何导入数据库泉州网站建设企业
  • 宁夏建设厅网站领导网站数据分析视频
  • 乐清网站推广公司淘宝联盟怎么做网站
  • 湖北响应式网站建设企业工作细胞樱花动漫
  • 在建设银行网站上买卖贵金属wordpress介绍主题