蓝桥杯的数论总结

声明

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

质数

暴力

  • 质数一般都是奇数,除了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++)
	...

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

相关推荐
艾斯比的日常5 小时前
JVM 内存结构:全面解析与面试重点
jvm·面试·职场和发展
程序员小白条7 小时前
你面试时吹过最大的牛是什么?
java·开发语言·数据库·阿里云·面试·职场和发展·毕设
程序员潇潇9 小时前
Jenkins 插件下载速度慢安装失败?这篇文章可能解决你头等难题!
运维·自动化测试·软件测试·功能测试·程序人生·职场和发展·jenkins
Warren9818 小时前
Python自动化测试全栈面试
服务器·网络·数据库·mysql·ubuntu·面试·职场和发展
橘颂TA20 小时前
【剑斩OFFER】算法的暴力美学——两整数之和
算法·leetcode·职场和发展
程序员小远1 天前
Appium-移动端自动测试框架详解
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
元亓亓亓1 天前
LeetCode热题100--79. 单词搜索
算法·leetcode·职场和发展
CoderYanger1 天前
优选算法-栈:69.验证栈序列
java·开发语言·算法·leetcode·职场和发展·1024程序员节
我还可以再学点1 天前
八股文面试攻略六:分布式和集群
分布式·面试·职场和发展