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开始遍历 ,还有// 处理最后剩余的大质因子

相关推荐
clint4564 天前
C++进阶(1)——前景提要
c++
夜悊4 天前
C++代码示例:进制数简单生成工具
c++
郝学胜_神的一滴4 天前
CMake 021: IF 条件判据详诠
c++·cmake
_wyt0015 天前
洛谷 B3930 [GESP202312 五级] 烹饪问题 题解
c++·gesp
LDR0065 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术5 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园5 天前
C++20 Modules 模块详解
java·开发语言·spring
swordbob5 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享5 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Luminous.5 天前
C语言--day30
c语言·开发语言