Résolvez 100 questions passées que les débutants et les intermédiaires devraient résoudre en Python. L'objectif est de devenir bleu clair lorsque vous avez terminé de tout résoudre.
Cet article s'intitule «001 --004 All Search: All Enumeration».
En Python, vous pouvez énumérer des combinaisons avec itertools
, mais je l'ai écrit dans une instruction for pour la pratique.
Je n'ai pas trébuché en particulier.
answer_list = []
while True:
n, x = map(int, input().split())
if n == 0 and x == 0:
break
count = 0
for first in range(1, n + 1):
for second in range(first + 1, n + 1):
for third in range(second + 1, n + 1):
if first + second + third == x:
count += 1
answer_list.append(count)
for answer in answer_list:
print(answer)
Étant donné que l'énoncé du problème indique qu'il n'y a pas de duplication, veillez à ne pas dupliquer la plage de
first, `` second
et `third``` de l'instruction for. Plus précisément, définissez le début de
deuxième '' sur premier + 1 '' et le début de
troisième '' sur `` deuxième + 1 ''.
def is_target(num):
count = 0
for i in range(1, num+1):
if num % i == 0:
count += 1
if count == 8:
return True
else:
return False
if __name__ == "__main__":
N = int(input())
count = 0
for num in range(1, N+1, 2):
count += is_target(num)
print(count)
Créez une fonction appelée is_target
qui retourne si la fraction est égale ou non à 8 avec `` True``` et
`False. Après cela, vérifiez
is_target``` pour les nombres impairs de 1 à N et ajoutez-les ensemble (Vrai est 1 afin que vous puissiez les ajouter tels quels).
target = 'ACGT'
S = input()
answer = 0
for start in range(len(S)):
if S[start] not in target:
continue
count = 0
for end in range(start, len(S)):
if S[end] not in target:
break
count += 1
answer = max(answer, count)
print(answer)
La sous-chaîne à extraire de la chaîne de caractères S peut être écrite comme `S [start: end]`
en utilisant les indices `start``` et` `ʻend```, donc`
start Pour chacun des éléments «» «» et «ʻend, vérifiez s'il s'agit de` `ʻACGT
.
Lors de la vérification, l'instruction for de `start``` est`
continuesi ce n'est pas
ACGT, et l'instruction for de
endest
ACGT Notez que si ce n'est pas '', c'est
break```.
N, M = map(int, input().split())
A = [list(map(int, input().split())) for _ in range(N)]
answer = 0
for song1 in range(M):
for song2 in range(song1+1, M):
score = 0
for i in range(N):
score += max(A[i][song1], A[i][song2])
answer = max(answer, score)
print(answer)
song1
Quandsong2
Tournez l'instruction for environ.
Et à l'intérieur, pour chaque élève (indice i
), le score le plus grand de `` chanson1``` et
`chanson2``` est adopté.
Recommended Posts