题目
把正整数 n n n通过一些特殊方法变成1。(1)减去1;(2)除以它的任意一个素因子。
每操作一次消耗一个单位的能量。把 n n n变成1最少需要消耗多少能量?
分析
线性筛处理所有的素数,然后dp枚举每一个素数,每一个询问直接输出答案
代码
#include <cstdio>
#include <cctype>
#include <cstring>
#include <queue>
#define min(a,b) ((a)<(b)?(a):(b))
#define rr register
using namespace std;
const int N=1000000;
bool v[N+1]; int prime[N+1],cnt,dp[N+1],n;
inline signed iut(){
rr int ans=