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 pasACGT, et l'instruction for de endestACGT 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)
song1Quandsong2Tournez 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