zoukankan      html  css  js  c++  java
  • 算法训练 素因子去重

      算法训练 素因子去重  
    时间限制:1.0s   内存限制:256.0MB
     
    问题描述
      给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1
    输入格式
      一个整数,表示n
    输出格式
      输出一行,包含一个整数p。
    样例输入
    1000
    样例输出
    10
    数据规模和约定
      n<=10^12
      样例解释:n=1000=2^3*5^3,p=2*5=10
     
     
    可以根号n的复杂度去模拟,
    其实隐含了一个素数筛,
    最后乘以操作后的n
     1 #include <iostream>
     2 #define ll long long int
     3 using namespace std;
     4 ll n;
     5 ll m = 1;
     6 
     7 int main(){
     8     ios::sync_with_stdio(false);
     9     cin.tie(0);
    10     cout.tie(0);
    11     cin >> n;
    12     for(ll i = 2; i*i <= n; i++){
    13         if(n%i == 0){
    14             m *= i;
    15             while(n%i == 0){
    16                 n /= i;
    17             }
    18         }
    19     }
    20     cout << m*n <<endl;
    21     return 0;
    22 }
  • 相关阅读:
    学习笔记
    核心网概要学习
    python基础知识
    python_基础知识_py运算符
    python_基础知识
    将博客搬至CSDN
    poj1182测试数据过了,但A不了,暂时放在这,以后再看
    score——3354
    杭电1241
    杭电1010(WA)
  • 原文地址:https://www.cnblogs.com/zllwxm123/p/10550429.html
Copyright © 2011-2022 走看看