[PYTHON] AtCoder Beginner Contest 169, D.Div Game code court

"Divisez par $ p ^ 1, p ^ 2, p ^ 3, \ ldots $ et enregistrez le nombre de fissures, Arrêtez d'enregistrer le nombre de fois et divisez autant que vous pouvez diviser par $ p $ " Se répète avec $ p = 2, 3, 5, 7, 9, \ ldots, \ sqrt {N} $. Ajoutez 1 s'il reste des nombres premiers. Comme.

N = int(input())
n, p, score = N, 2, 0
while p ** 2 <= N:
  e = 1
  while n % (p ** e) == 0:
    n //= (p ** e)
    score += 1
    e += 1
  else:
    while n % p == 0:
      n //= p
    p = p + 1 if p == 2 else p + 2
else:
  if n != 1:
    score += 1
print(score)

Un peu plus court

N = int(input())
n, p, score = N, 2, 0
while p ** 2 <= N:
  e = 1
  while n % (p ** e) == 0:
    n //= (p ** e)
    score += 1
    e += 1
  else:
    while n % p == 0:
      n //= p
    p += 2 - (p == 2)
else:
  score += n > 1
print(score)

Recommended Posts

AtCoder Beginner Contest 169, D.Div Game code court
Concours AtCoder Débutant 177
Concours AtCoder Débutant 172
Concours AtCoder Débutant 173
Concours Atcoder Débutant 153
Concours pour débutants AtCoder: Réponses aux problèmes D Python
Critique du concours AtCoder Beginner Contest 152
Concours AtCoder Débutant 181 Remarque
Critique du concours AtCoder Débutant 160
Critique du concours AtCoder Débutant 178
Concours AtCoder Débutant 180 Remarque
Critique du concours AtCoder pour débutant 166
AtCoder Débutant Contest 167 Évaluation
Concours AtCoder Débutant 182 Remarque
Critique du concours AtCoder
AtCoder Débutant Contest 169 Évaluation
AtCoder Débutant Contest 171 Critique
Critique du concours AtCoder pour débutant 182
Critique du concours AtCoder Débutant 180
Concours AtCoder pour débutants 156 WriteUp
Critique du concours AtCoder pour débutant 177
AtCoder Débutant Contest 168 Critique
Critique du concours AtCoder
Concours AtCoder pour débutants 167
Critique du concours AtCoder pour débutant 172
Concours AtCoder Débutant 183 Remarque
Critique du concours AtCoder
Concours AtCoder Débutant 184 Remarque
AtCoder Débutant Contest 175 Critique
Critique du concours AtCoder
Critique du concours AtCoder Beginner Contest 153
Critique du concours AtCoder pour débutant 156
AtCoder Débutant Contest 161 Critique
AtCoder Débutant Contest 170 Critique
Critique du concours AtCoder
AtCoder Débutant Contest 173 Critique
AtCoder Débutant Contest 155 Critique
AtCoder Débutant Contest 162 Évaluation
AtCoder Beginner Contest 175 Inscription virtuelle
AtCoder Beginner Contest 161 Rapport de participation
AtCoder Beginner Contest 151 Rapport de participation
AtCoder Débutant Contest 176 Rapport de participation
AtCoder Beginner Contest 154 Rapport de participation
Note de participation au concours pour débutants AtCoder # 003
AtCoder Beginner Contest 166 Rapport de participation
AtCoder Beginner Contest 153 Rapport de participation
AtCoder Beginner Contest # 002 Problème C
AtCoder Beginner Contest 145 Rapport de participation
AtCoder Débutant Contest 184 Rapport de participation
AtCoder Beginner Contest 165 Rapport de participation
Rapport de participation au concours AtCoder Débutant 160
AtCoder Beginner Contest 169 Rapport de participation
AtCoder Beginner Contest 178 Rapport de participation
AtCoder Beginner Contest 163 Rapport de participation
AtCoder Beginner Contest 159 Rapport de participation
AtCoder Beginner Contest 164 Rapport de participation
AtCoder Beginner Contest 168 Rapport de participation
Rapport de participation au concours AtCoder Débutant 150