社区讨论

一个蒟蒻的问题

灌水区参与者 4已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lzjq4fkk
此快照首次捕获于
2024/08/07 18:46
2 年前
此快照最后确认于
2024/08/07 19:57
2 年前
查看原帖
下面的代码是求一个数的最大质因数的,TLE了,质数函数也优化过了,实在不知道该咋优化了(知道哪里,就是那个主函数里的for循环,但是太蒻了)(0<=n<=2*1e9)
CPP
#include<bits/stdc++.h>
using namespace std;
int maxn;
int zs(int n){
	for(int i=2;i*i<=n;i++){
		if(n%i==0){
			return 0;
		}
	}
	return 1;
}		
int main(){
	int n;
	cin>>n;
	if(zs(n)){
		cout<<n;
		return 0;
	}
	for(int i=2;i<=n;i++){
		if(n%i==0&&zs(i)){
			maxn=max(maxn,i);
		}
	}
	cout<<maxn;
	return 0;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...