正整数を互いに異なる自然数に分割し積を最大化するアルゴリズム
与えられた正整数 N を、互いに異なる複数の自然数に分解し、それらの自然数の積が最大となるようにする方法について解説します。分解された自然数は昇順で表示し、その最大積も計算・表示します。この問題は、効率的な貪欲法と高精度計算を組み合わせることで解決できます。
問題の概要
正整数 N (3 ≤ N ≤ 10000) が与えられます。N を互いに異なる自然数(ただし ...
9月10日 09:37 投稿
競技プログラミング向けアルゴリズム備忘録
メモリ使用量の見積もり
プログラムが使用するメモリ容量を概算する方法:
1 MB = 1024 × 1024 バイト
int 型は 4 バイト
→ 必要メモリ (MB) = (int の要素数 × 4) / (1024 × 1024)
他のデータ型も同様に、各要素のバイト数を掛け合わせて計算する。
実行時間の計測(C++)
CPU時間を用いてコードの実行時間を計測する例:
#include <ctime>
#include <iostream ...
5月16日 05:33 投稿