D32次 第2题 因子化简

这道题前几天刚做过,这次再做一下,看看能不能做对

5416. 因子化简 - AcWing题库

思路:

1.因子p 遍历确认,遍历到;2.指数通过循环不断相除累加确认**【从2开始循环】**。

代码:

cpp 复制代码
	//因子化简
	int q;
	cin>>q;
	while(q--){
		long long n,k;
		cin>>n>>k;
		long long  ans=1;
		long long tmp=n;
		for(int i=2;i*i<=tmp;i++){//遍历找p
			int t=0;
			while(tmp%i==0){
				t++;
				tmp/=i;
			} 
			if(t>=k){
				 ans *= pow(i, t);
			}	
		}
		// 处理最后剩余的大质因子(比如n=15,分解完3后剩5)
        if (tmp> 1) { // 剩余的temp_n是质因子
            int t = 1;
            if (t >= k) {
                ans *= pow(tmp, t);
            }
        }
		cout<<ans<<endl;
	}

反思:这道题用的pow()函数,大数据可能会超出时间限制,要自定义函数,这里就不定义了。

这次写的时候,忘记了i需要从2开始遍历 ,还有// 处理最后剩余的大质因子

相关推荐
H.莓飛7 小时前
【数据结构】排序_OJ题(一):计数、桶与排序后的处理
java·开发语言·数据结构
wangchunyu1147 小时前
JAVA AQS与Lock实现原理(含CAS)
java·开发语言·word
爱喝水的鱼丶8 小时前
SAP-ABAP:ECC→S/4HANA ABAP 迁移升级指南——程序改造、语法兼容与性能优化 导语
运维·开发语言·性能优化·sap·abap·经验交流·开发交流
小灰灰搞电子8 小时前
Rust+Slint 实现FTP客户端调试助手源码分享
开发语言·后端·rust
外收内放9 小时前
面向对象高级(实战案例)
开发语言·python·学习
·present·9 小时前
CSAPP(lecture 4_01)
c语言·c++
FPGA小迷弟9 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
c++·python·ai·plotly·django·ai编程·claude
fanruitian10 小时前
python else用法
开发语言·python
程序员-King.10 小时前
【ROS1】Noetic 开发工作流程与常用命令
c++·ubuntu·ros
FRing0310 小时前
JavaScript入门到精通二十六(变量提升、函数剩余参数、展开运算符、ES6箭头函数)
开发语言·前端·javascript·es6·箭头函数