【蓝桥杯官网试题 -算法训练】素因子去重(数学,数论,因子约数)
生活随笔
收集整理的這篇文章主要介紹了
【蓝桥杯官网试题 -算法训练】素因子去重(数学,数论,因子约数)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題干:
問題描述
給定一個正整數n,求一個正整數p,滿足p僅包含n的所有素因子,且每個素因子的次數不大于1
輸入格式
一個整數,表示n
輸出格式
輸出一行,包含一個整數p。
樣例輸入
1000
樣例輸出
10
數據規模和約定
n<=10^12
樣例解釋:n=1000=2^3*5*3,p=2*5=10
?
解題報告:
? ?就是個整數的唯一性分解。
AC代碼:
#include<cstdio> #include<iostream> #include<algorithm> #include<queue> #include<map> #include<vector> #include<set> #include<string> #include<cmath> #include<cstring> #define ll long long #define pb push_back #define pm make_pair using namespace std; const int MAX = 2e5 + 5;int main() {ll n;cin>>n;ll res = 1;for(ll i = 2; i*i <= n; i++) {if(n%i == 0) {res *= i;while(n%i==0) n/=i;}}if(n > 1) res *= n;cout << res;return 0 ;}?
總結
以上是生活随笔為你收集整理的【蓝桥杯官网试题 -算法训练】素因子去重(数学,数论,因子约数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 申请信用卡详细地址怎么填 这三个地址都要
- 下一篇: 申请信用卡次数过多怎么办 这些不良影响要