草稿箱,无用且不完整,请忽略3

93

'''有一个整型列表,列表中有正数也有负数。列表中连续的一个或多个整数组成一个子列表,每个子列表都有一个和。
假设它们分别为:d1、d2、d3...di,求所有子列表的和的最大值(即:d1、d2、d3...di的最大值)。
输入
第1行:整数n
接下来行:n个整数
输出
子列表的和的最大值
样例输入
8
1 -2 3 10 -4 7 2 -5  #换行

样例输出
18
'''

N=int(input())
l=list(map(int,input().split()))
value=0
sum=0
for i in range(N):
    if value<=0:
        value=l[i]
    else:
        value+=l[i]
    if sum<value:
        sum=value
print(sum)

94

'''94,现有N名热爱信息学的同学,将他们从1到N编号;第i名同学的编程能力为Qi。
为了实现共同进步,同时又不至于太受打击。每位同学都想找一位能力比自己高并且与
自己最接近的同学作为学习伙伴。请编程求出每位同学理想的学习伙伴的编号和每位同学
自己被多少名同学选择为理想的学习伙伴。选择学习伙伴时,如果有多个符合条件的同学则选择编号最小的,
如果无法找到满足条件的同学则输出0。
输入第1行,整数N接下来N行,N个整数表示每位同学的编程能力Qi
输出
共N行,每行两个整数前面一个数为该同学的理想学习伙伴的编号,后面一个数为该同学被多少
名同学选择为理想的学习伙伴
样例输入
5
2 3 1 4 5   #换行
样例输出
2 1 
4 1 
1 0
5 1 
0 1
'''
N=int(input())
l=list(map(int,input().split()))
#l1记录第一列
#l2记录第二列
l1=[]
l2=[0]*N
for i in range(N):
    aim_id=0
    flag=0#有无学习目标的标签
    for j in range(N):
        if flag==0 and l[i]<l[j]:#满足学习目标
            aim_id=j
            flag=1
            if flag==1 and l[i]<l[j] and l[j]<l[aim_id]:#是否是最佳学习目标
                aim_id=j
    if flag==1:#有了目标
        l1.append(aim_id+1)
        l2[aim_id]+=1
    else:
        l1.append(0)
for i in range(N):
    print (l1[i],l2[i])

94—2

'''94,现有N名热爱信息学的同学,将他们从1到N编号;第i名同学的编程能力为Qi。
为了实现共同进步,同时又不至于太受打击。每位同学都想找一位能力比自己高并且与自己最接近的同学作为学习伙伴。
请编程求出每位同学理想的学习伙伴的编号和每位同学自己被多少名同学选择为理想的学习伙伴。
选择学习伙伴时,如果有多个符合条件的同学则选择编号最小的,如果无法找到满足条件的同学则输出0。
输入
第1行,整数N
接下来N行,N个整数表示每位同学的编程能力Qi
输出
共N行,每行两个整数
前面一个数为该同学的理想学习伙伴的编号,后面一个数为该同学被多少名同学选择为理想的学习伙伴
样例输入
5
2 3 1 4 5   #换行

样例输出
2 1
4 1
1 0
5 1
0 1
'''

N=int(input())
l=list(map(int,input().split()))
#l1记录第一列
#l2记录第二列

l1=list()
l2=[0 for i in range(N)]
for i in range(N):
    min_id=0
    f=False
    for j in range(N):
        if not f and l[j]>l[i]:
            min_id=j
            f=True
        elif f and l[j]>l[i] and l[j]<l[min_id]:
            min_id = j
    if f:
        l1.append(min_id+1)
        l2[min_id] += 1
    else:
        l1.append(0)
print(l1,l2)

95

'''95,N个人围成一圈,将他们顺时针从1到N编号。从编号为S的人开始报数,
先沿顺时针方向数到第M个人出圈,再沿逆时针方向数到第K个人出圈.....依次类推,
直到所有的人出圈为止。请依次输出每次出圈的人的编号。
输入
一行,使用空格隔开的4个整数N、S、M、K 
输出
共N行,每次出圈的人的编号
样例输入
5 2 4 1
样例输出
5 4 1 3 2
'''
n,s,m,k=map(int,input().split())
l=[0]*n
num=0#用于记步数
count=0
i=s-1
flag=0 #顺时针和逆时针的判断标志
while count!=n:
    if flag==0:# 顺时针
        if l[i]==0:
            num+=1
            if num==m:
                num=0
                count+=1
                l[i]=1
                flag=1
                print(i+1)
        if i == n-1:
            i=0
        else:
            i+=1
    if flag==1:#逆时针
        if i==0:
            i=n-1
        else:
            i-=1
        if l[i]==0:
            num+=1
            if num==k:
                l[i]=1
                num=0
                count+=1
                flag=0
                print (i+1)
        
        

96

'''96,输入一个数,然后输出它的位数。
'''
n=int(input())
num=0
while n//10>=10:
    n=n//10
    num+=1
print (num+2)

97

'''97,输入一个字符串,然后输出它的逆向串。
'''
str=input("请输入字符串:")
l=list(str)
for i in range(len(l)-1,-1,-1):
    print (l[i],end='')

98

#98,输入一个字符串,输出中间有多少个数字字符。
str=input()
num=0
for i in str:
    if i.isdigit():
        num+=1
print(num)

99

#99,输入一个字符串,输出ASCII码最大的字符。
str=input()
max=0
for i in str:
    if ord(i)>max:
        max=ord(i)
print (chr(max))

100

#100,输入一个字符串(只有英文字母),把出现的大写字母都改为小写后输出(原来就是小写字母则不变)

str=input()
print (str.lower())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值