ABC154 J'étais plein de participation, mais je n'ai pas eu cette semaine orz Je vais donc aussi résoudre les questions du passé cette fois !!
La dernière fois, j'ai résolu le problème B, et le suivant était le problème C, mais c'était étonnamment difficile, et au cours des 5 derniers jours, j'ai essayé de résoudre les problèmes jusqu'à A-C.
En cours de route, j'ai remarqué qu'il était coloré en fonction de la difficulté du problème (lent). Si vous regardez la couleur, le problème que j'étais heureux de recevoir AC est le gris ()
En d'autres termes, ma capacité actuelle est grise ...
Résolvons le problème du thé !!!!
Alors, voici le problème à résoudre cette fois
C'est marron ... mes doigts ne bougent pas. Jetons un coup d'œil à un exemple de sortie pour le moment.
Je vois !! Une fois que vous remplacez le nombre dans cette formule de probabilité par une variable appropriée (i pour le rouleau, j pour le nombre de fois que vous balancez la pièce),
1/i*(0.5**j)
Si vous répétez cette formule dans une phrase et l'additionnez, une réponse vous sera demandée !!
N,K = map(int,input().split())
ans = 0
for i in range(1,N+1):
j = 0
point = i
while point < K:
point *= 2
j += 1
ans += (1/N)*(0.5**j)
print(ans)
Vous avez AC avec ça !!
Je l'ai écrit brièvement dans l'article, mais il a fallu une heure pour le résoudre. Je dois réfléchir davantage et écrire le code ... De plus, il semble que vous ayez besoin de connaître diverses choses telles que la dichotomie et la planification dynamique pour résoudre des problèmes de difficulté plus élevée, alors je l'apprendrai également. Ponction de la tête ()
Merci pour la lecture. La prochaine mise à jour sera probablement postérieure à ABC154, mais veuillez la relire si vous le souhaitez.
Recommended Posts