(注 input()輸入函數(shù)的括號(hào)中不允許添加任何信息) 編程實(shí)現(xiàn):
給定一個(gè)正整數(shù)N,輸出N個(gè)連續(xù)星號(hào) ”*”
輸入描述
輸入一個(gè)正整數(shù)N菩暗,表示星號(hào)的個(gè)數(shù)
輸出描述
輸出N個(gè)連續(xù)星號(hào)
# 2203PC01
N = int(input())
for i in range(0,N):
print("*", end="")
(注 input()輸入函數(shù)的括號(hào)中不允許添加任何信息)
編程實(shí)現(xiàn):
給定一個(gè)小寫字母掰曾,輸出其對(duì)應(yīng)的大寫字母。
輸入描述
輸入一個(gè)小寫字母
輸出描述
輸出小寫字母對(duì)應(yīng)的大寫字母
# 2203PC02
s = input()
print(s.upper())
(注 input()輸入函數(shù)的括號(hào)中不允許添加任何信息)
編程實(shí)現(xiàn):
給定一個(gè)正整數(shù)N停团,和M個(gè)不同的正整數(shù)旷坦。然后將M個(gè)正整數(shù)中任意兩個(gè)數(shù)進(jìn)行組合掏熬,且求出每組組合的和.問(wèn)M個(gè)正整數(shù)中有多少組組合的和恰好等于N。
如:正整數(shù)N為6秒梅,M為5旗芬,5個(gè)不同的正整數(shù)分別為1,2捆蜀,3疮丛,4,5辆它。
任意兩數(shù)組合有10組:1+2誊薄,1+3,1+4锰茉,1+5暇屋,2+3,2+4洞辣,2+5咐刨,3+4,3+5扬霜,4+5
其中和正好等于6的組合有2組:1+5定鸟,2+4
輸入描述
第一行輸入一個(gè)正整數(shù)N
第二行輸入M個(gè)不同的正整數(shù),且正整數(shù)之間以一個(gè)英文逗號(hào)隔開
輸出描述
輸出M個(gè)不同的正整數(shù)中有多少組組合的和恰好等于N
樣例輸入
5
1,2,3,4,5
樣例輸出
2
# 2203PC03
from itertools import combinations
N = int(input())
num_list = input().split(",")
num_list = [int(i) for i in num_list]
total = 0
for coupe in combinations(num_list,2):
if sum(coupe) == N:
total += 1
print(total)
編程實(shí)現(xiàn):
有N個(gè)小朋友從左到右排成一排著瓶,每個(gè)小朋友手中都有一定數(shù)量的糖果联予,且糖果總數(shù)量是N的倍數(shù)。
計(jì)算出最少調(diào)整幾次可以使每個(gè)小朋友手中的糖果數(shù)量都相同材原。
調(diào)整規(guī)則如下:
- 規(guī)則1:每個(gè)小朋友的糖果只能調(diào)整到左右相鄰的兩個(gè)小朋友手中沸久;
- 規(guī)則2:第一個(gè)小朋友的糖果只能調(diào)整到第二個(gè)小朋友手中;
- 規(guī)則3:最后一個(gè)小朋友的糖果余蟹,只能調(diào)整到倒數(shù)第二個(gè)小朋友手中卷胯。
糖果數(shù)量: 6 4 ... ... 2
編號(hào): 1 2 ... ... N
例如:1-3號(hào)小朋友手中原有的糖果數(shù)量分別為6, 4, 2
- 1號(hào)小朋友拿出兩塊給2號(hào)小朋友;
- 2號(hào)小朋友拿出兩塊給3號(hào)小朋友威酒;
兩次調(diào)整后三個(gè)小朋友手中的糖果分別為4, 4, 4.
即按照調(diào)整規(guī)則最少操作2次可以使3個(gè)小朋友手中糖果數(shù)量都相同窑睁。
現(xiàn)按照順序給出第1~N個(gè)小朋友手中原有糖果數(shù)量,按照調(diào)整規(guī)則計(jì)算出最少調(diào)整幾次可以使N個(gè)小朋友手中的糖果數(shù)量都相同葵孤。
輸入描述
輸入N個(gè)正整數(shù)(1<正整數(shù)<100)担钮,表示從1到N號(hào)小朋友手中原有糖果數(shù)量,正整數(shù)之間以一個(gè)英文逗號(hào)隔開尤仍,且所有正整數(shù)之和是N的倍數(shù)箫津。
輸出描述
按照調(diào)整規(guī)則計(jì)算出最少操作幾次可以使N個(gè)小朋友手中糖果數(shù)量都相同。
樣例輸入
6, 4, 2
樣例輸出
2
# 2203PC04
num_list = input().split(",")
num_list = [int(i) for i in num_list]
step = 0
max_num = max(num_list)
count = len(num_list)
avg = sum(num_list) // count
# 從左到右
for i in range(count):
if num_list[i] > avg and i<=count-2:
step += 1
need = (count-i-1)*avg - sum(num_list[i+1:])
if need >= (num_list[i] - avg):
num_list[i+1] += num_list[i] - avg
num_list[i] = avg
else:
num_list[i+1] += need
num_list[i] -= need
# 從右到左
for i in range(count):
if num_list[count-i-1] > avg and i<=count-2:
step += 1
need = (count-i-1)*avg - sum(num_list[:count-i-1])
if need >= (num_list[count-i-1] - avg):
num_list[count-i-2] += num_list[count-i-1] - avg
num_list[count-i-1] = avg
else:
num_list[count-i-2] += need
num_list[count-i-1] -= need
# print(num_list)
print("調(diào)整次數(shù):", step)