AcWing 449. 質因數分解(數論 + 列舉)
阿新 • • 發佈:2021-02-18
已知正整數n是兩個不同的質數的乘積,試求出較大的那個質數。
輸入格式
輸入只有一行,包含一個正整數n。
輸出格式
輸出只有一行,包含一個正整數p,即較大的那個質數。
資料範圍
6≤n≤2∗109
輸入樣例:
21
輸出樣例:
7
思路:
答案:
#include <iostream>
#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define INF 0x3f3f3f3f
#define inf 0x3f3f3f3f3f3f3f3f
#define rep(i,a,b) for(auto i=a;i<=b;++i)
#define bep(i,a,b) for(auto i=a;i>=b;--i)
#define lowbit(x) x&(-x)
#define PII pair<int,int>
#define PLL pair<ll,ll>
#define PI acos(-1)
#define pb push_back
#define eps 1e-6
const int mod = 1e9 + 7;
const int MOD = 1e4+7;
const int N = 4e5 + 10;
const int M = 35;
int dx[]={-1, 0, 1, 0};
int dy[]={0, 1, 0, -1};
int dxy[][2]={{0,1},{1,0},{1,1},{-1,1}};
using namespace std;
void solve(){
int n;
cin>>n;
for(int i=2;;i++){
if(n%i==0){
cout<<n/i<<endl;
break;
}
}
}
int main () {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
solve();
return 0;
}