蓝桥杯的数论总结

声明

我只是把数论相关的东西放在了一起,会有自己的理解,所以会有错误哈,欢迎在评论区中指出,另外有啥看不懂的也可以在评论区留言,我看到后就回你

质数

暴力

  • 质数一般都是奇数,除了2
  • 小于2的不用考虑了
java 复制代码
boolean prime(int n){
	if(n<2)
		return false;
	
	if(n!=2 && n % 2==0 )
		return false;
	for(int i=2;i<n;i++){
		if(n%i==0)
			return false;
	}
	return true;
}

优化1 对for循环的上界进行调整

这个优化你见过,就是将for循环的上界改为sqrt(n),但是这样写的话是比较费时间的,我听一位大佬说的,sqrt这个函数比较慢,倒不如这么写

java 复制代码
int upperBound = sqrt(n);
for(int i=2;i<=upperBount;i++)
	...

这样不用重复计算了

当时那位大佬推荐下面的写法

java 复制代码
for(int i=2;i<=n/i;i++)
	...

这个记住一下,这个知识点我还没有学会

相关推荐
柒月的猫几秒前
方格分割(蓝桥杯2017年试题D)
职场和发展·蓝桥杯
柒月的猫2 小时前
翻转(蓝桥杯2023大学C组试题E)
职场和发展·蓝桥杯
Solitudefire3 小时前
蓝桥杯刷题——day9
算法·蓝桥杯
chenziang15 小时前
leetcode hot100
算法·leetcode·职场和发展
互联网杂货铺5 小时前
单元测试/系统测试/集成测试知识总结
自动化测试·软件测试·测试工具·职场和发展·单元测试·测试用例·集成测试
蹉跎x8 小时前
力扣1358. 包含所有三种字符的子字符串数目
数据结构·算法·leetcode·职场和发展
m0_6759882313 小时前
Leetcode3218. 切蛋糕的最小总开销 I
c++·算法·leetcode·职场和发展
黑客老陈15 小时前
面试经验分享 | 北京渗透测试岗位
运维·服务器·经验分享·安全·web安全·面试·职场和发展