1. 程式人生 > 其它 >AcWing 449. 質因數分解(數論 + 列舉)

AcWing 449. 質因數分解(數論 + 列舉)

技術標籤:AcWing題解c語言c++

題目連結

已知正整數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; }