欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

【蓝桥杯官网试题 -算法训练】素因子去重(数学,数论,因子约数)

发布时间:2023/12/10 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【蓝桥杯官网试题 -算法训练】素因子去重(数学,数论,因子约数) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

题干:

问题描述

  给定一个正整数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 ;}

 

总结

以上是生活随笔为你收集整理的【蓝桥杯官网试题 -算法训练】素因子去重(数学,数论,因子约数)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。