栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python之旅(做题笔记)——Day7.19

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python之旅(做题笔记)——Day7.19

今日份感想:继续做题!!!(题源都来自洛谷

目录

P1116 车厢重组

P1146 硬币翻转

P1150 Peter 的烟

P1151 子数整数


P1116 车厢重组

错误代码:

count = 0
N = int(input())
nums = input().split()
for i in range(N):
    nums[i] = int(nums[i])
for i in range(N):
    for j in range(i,N):
        if nums[j] 

很华丽的超时了=.=应该是没有控制输入的字段,猜测案例有分多次输入数据导致如果我没写控制字段就会爆掉 ;所以我的想法是再开一个列表:

count = 0
N = int(input())
nums = list()
final_nums = list()
while len(final_nums) 

这遍是全AC。很经典的排序?这题坑的地方就在于,案例中给的数据是一次输入全给你,但我在打表过程中发现超时的部分都是因为分成多次给完数据。这就导致了我原本的代码是只输入一次数据,再输入就爆掉了(对Python而言,C/C++只要一个简单的for就可以解决)。开两个list就是为了一个储存输入的数据,另一个将每一次输入的数据打入到上一个表中;因为我所有的循环都限制到N,所以不要在意会多打入数据。还有一个简便的点就是这题没要求排序,只是问你要“旋转”几次,那只要比大小就好了,在这个数之后小的数据都是要交换的,其实就是模拟冒泡排序的过程。

P1146 硬币翻转

分析一下,就是第 i 次翻转的时候除了第 i 枚硬币都要翻转,也可以理解为每次翻转一枚,所以至少也就翻转四次

AC代码:

n = int(input())
print(f"{n}")
nums = list()
for i in range(n):
    nums.append("0")
    nums[i] = int(nums[i]) #令初始排序为“0000”
for i in range(n):
    for j in range(n):
        if i == j: #如果刚好是第i次的第i枚,则不变
            continue
        else: #令硬币翻转
            if nums[j] == 0:
               nums[j] = 1
            else:
                nums[j] = 0
    for j in range(n):
        print(f"{nums[j]}",end='')
    print(end='n')

P1150 Peter 的烟

一个很基础的奥数题,通过烟蒂换烟再新产生新的烟蒂 ,挺绕口的实际写起来其实很简单

AC代码:

a = input().split()
n = int(a[0])
k = int(a[1])
count = n
while n>=k:
    q = n%k #获得了q个烟蒂
    n /= k #可获得n个烟
    count += int(n)
    n += int(q) #一定要转换为int型!
print(f"{int(count)}")

要小心的是,循环里的n和q一定要转变为 int 型,如果n为 float,就有可能出现多次的小数累加起来又可以产生新的烟蒂,这样就会出现误差

P1151 子数整数

 看到的第一反应就是暴力破解,结果试了一下还真可以,也懒得优化了就这样吧hhh

AC代码:

k = int(input())
count = 0
for i in range(10000,30001):
    sub1 = int(i/100)
    s = i/10
    sub2 = int(s%1000)
    sub3 = int(i%1000)
    if sub1%k == 0 and sub2%k == 0 and sub3%k == 0:
        print(f"{i}")
        count=1
if count != 1:
    print("No")

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1018015.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号