AOJ-NTL1-A: 素因数分解 
問題 
解説 
素因数分解をする.
実装例 
C++ 
- submission: https://onlinejudge.u-aizu.ac.jp/solutions/problem/NTL_1_A/review/5919109/kira924age/C++11
 
cpp
#include <iostream>
#include <map>
std::map<long long, int> prime_factor(long long n) {
  std::map<long long, int> res;
  for (long long x = 2; x * x <= n; x++) {
    while (n % x == 0) {
      ++res[x];
      n /= x;
    }
  }
  if (n != 1) {
    res[n] = 1;
  }
  return res;
}
int main() {
  std::cin.tie(0);
  std::ios_base::sync_with_stdio(false);
  int n;
  std::cin >> n;
  std::map<long long, int> prime_factors = prime_factor(n);
  std::cout << n << ":";
  for (auto it = prime_factors.begin(); it != prime_factors.end(); it++) {
    long long prime = it->first;
    int e = it->second;
    for (int i = 0; i < e; i++) {
      std::cout << " " << prime;
    }
  }
  std::cout << "\n";
  return 0;
}Python 
- submission: https://onlinejudge.u-aizu.ac.jp/status/users/kira924age/submissions/1/NTL_1_A/judge/5919115/Python3
 
python
#!/usr/bin/env python3
def prime_factor(n):
    res, x = {}, 2
    while x * x <= n:
        while n % x == 0:
            res[x] = res.get(x, 0) + 1
            n //= x
        x += 1
    if n != 1:
        res[n] = 1
    return res
n = int(input())
prime_factors = prime_factor(n)
print("{:d}:".format(n), end="")
for p, e in prime_factors.items():
    for i in range(e):
        print(" {:d}".format(p), end="")
print()