2020牛客寒假算法基础集训营6.E——立方数【数学 & 二分】(待补)

该博客讨论了一道算法问题,要求找到最大的正整数 A,使得存在正整数 B 使得 A^3 * B = N。通过质因数分解和优化策略,如限制枚举质数的范围到 N 的 1/3 次方根,并使用二分法检查完全立方数,可以解决这个问题。博客给出了复杂度分析和AC代码。
摘要由CSDN通过智能技术生成

题目传送门


题目描述

对于给定的正整数 N,求最大的正整数 A,使得存在正整数 B,满足 A3B=N
输入包含 T 组数据, 1 ≤ T ≤ 10 , 000 ; 1 ≤ N ≤ 1 0 18 1≤T≤10,000;1≤N≤10^{18} 1T10,0001N1018


输入描述:

第一行数字 T 表示数据组数
接下来一行,T 个正整数 N


输出描述:

T 行,每行一个数字表示答案


输入

4
27 24 7 54


输出

3
2
1
3


题解

  • 考虑直接一些的做法
  • 尝试对每个N作质因数分解,经简单的统计可得出答案,复杂度 O ( T N 1 / 2 ) O(TN^{1/2}) O(T
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值