以P2092 数字游戏的AC代码为例。
仅供个人使用,故不做讲解与说明。
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define LM LLONG_MAX
#define IM INT_MAX
#define _for(i,a,b) for(int i=a;i<=b;i++)
inline int read(){
int x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-')
f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*f;
}
queue<ll> q;
int main(){
ll n;
scanf("%lld",&n);
//分解质因数并加入到队列
for(ll i=2;i*i<=n;i++){
while(n%i==0){
q.push(i);
n/=i;
}
}
if(n!=1) q.push(n);
//两个注释之间即为模板
if(q.size()==1) printf("1\n0\n");
else if(q.size()==2) printf("2\n");
else {
ll ans=q.front();
q.pop();
ans=ans*q.front();
printf("1\n%lld\n",ans);
}
return 0;
}