质因数分解
这题也没啥好写的
代码
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<map>
using namespace std;
#define N 1000005
int pp[N],pri[N],tot,p,q;
long long int n = 98554799767;
int init_prim(){
for (int i = 2; i <= 1000000;i++){
if(pp[i]==0){
tot++;
pri[tot] = i;
}
for (int j = 1; j <= tot&&i*pri[j]<=1000000;j++){
int t = pri[j];
pp[t * i] = 1;
if(i%t==0)
break;
}
}
}
void get_pq(){
for (int i = 1; i <= tot;i++){
int t = pri[i];
if((n%t)==0){
p = t;
q = n / t;
break;
}
}
}
int main(){
init_prim();
get_pq();
cout << p << " " << q;
}