【蓝桥杯省赛】冲刺练习题【数学公式】倒计时【06】天(准考证组委会已下发,请查询)-1

简介: 【蓝桥杯省赛】冲刺练习题【数学公式】倒计时【06】天(准考证组委会已下发,请查询)

1、判断质数

质数又称为素数,是指大于1的并且除了1和它本身外,没有其他因数的自然数。


判断一个数是否是质数

假设该数为n, 我们只需要判断内是否有n的因子。如果有,则n为合数,否则,n为质数。


这种方法被称为试除法, 即试着除一下所有可能的因子。


package action;
public class demo {
  public static void main(String[] args) {
  System.out.println(isf(5));;
  }
  public static Boolean isf(int n){
     if(n == 1) return false;
     for(int i = 2; i <= n / i; i++){
         if(n % i == 0){
             return false;
         }
     }
     return true;
  }
}

image.png


2、分解质因数

根据算术基本定理又称唯一分解定理,对于任何一个合数, 我们都可以用几个质数的幂的乘积来表示。


image.png

接下来我们利用这个公式分解质因数。

设一个质数为p.如果n%p == 0,那么p就是n的一个质因数,接下来就是求p的指数,我们让n = n/p, 这样就从n中剔除了一个p,接着重复上述两步,直到n%p != 0


package action;
public class demo {
  public static void main(String[] args) {
  isf(500);
  }
  public static void isf(int n) {
  for (int i = 2; i <= n / i; i++) {
    int a = 0, b = 0;
    while (n % i == 0) {
    a = i;
    n /= i;
    b++;
    }
    if (b > 0) {
    System.out.println(a + " " + b);
    }
  }
  if (n > 1) {
    System.out.println(n + " " + 1);
  }
  }
}

image.png

3、快速幂

当我们计算时,常用的做法是对n连乘k次, 但如果k特别大,假如k = 1e6, 如果仍然对n连乘1e6次的话,时间消耗就太大了。那么我们如何在短时间内求出一个数的k次方呢。

image.png

image.png




快速幂

image.png


没有处理超大数


package action;
public class demo {
  public static void main(String[] args) {
  System.out.println(ksm(2, 10));
  }
  public static int ksm(int a, int b) { // 求 a^b
  int res = 1; // res保存结果
  while (b != 0) {
    if ((b & 1) == 1) { // 如果k的二进制数的最后一位是 1。 比如1011 & 1 = 1
    res = (res * a);
    }
    a = a * a;// 得到 a^1, a^2, a^4, a^8, .....
    b = b >> 1; // 将b右移一位,去掉最低位。为了开始判断下一位。
  }
  return res;
  }
}


3、欧几里得定力

最大公约数、最小公倍数


package Action;
public class demo {
  /*
  * 求最大公约数 最小公倍数 思路:根据欧几里得定理 gcd(a,b)=gcd(b,a%b);
  */
  static int gcd(int a, int b) {
  // 出口:b=0;5和0的最大公约数是5
  if (b == 0)
    return a;
  return gcd(b, a % b);
  }
  static int lcm(int a, int b) {
  return a * b / gcd(a, b);
  }
  public static void main(String[] args) {
  System.out.println(gcd(45, 35));
  System.out.println(lcm(45, 35));
  System.out.println(gcd(42, 60));
  System.out.println(lcm(42, 60));
  }
}


4、海伦公式(求三角形面积)

image.png

image.png



相关文章
|
6月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1 算法训练 区间k大数查询
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1 算法训练 区间k大数查询
37 0
|
机器学习/深度学习 机器人 API
【蓝桥杯省赛】冲刺练习题【经典题目练习】倒计时【01】天(准考证组委会已下发,请查询)-1
【蓝桥杯省赛】冲刺练习题【经典题目练习】倒计时【01】天(准考证组委会已下发,请查询)
113 0
【蓝桥杯省赛】冲刺练习题【经典题目练习】倒计时【01】天(准考证组委会已下发,请查询)-1
|
人工智能 Java BI
【蓝桥杯省赛】冲刺练习题【数学公式】倒计时【06】天(准考证组委会已下发,请查询)-2
【蓝桥杯省赛】冲刺练习题【数学公式】倒计时【06】天(准考证组委会已下发,请查询)
122 0
【蓝桥杯省赛】冲刺练习题【数学公式】倒计时【06】天(准考证组委会已下发,请查询)-2
|
存储 监控 搜索推荐
【蓝桥杯省赛】冲刺练习题【经典题目练习】倒计时【01】天(准考证组委会已下发,请查询)-2
【蓝桥杯省赛】冲刺练习题【经典题目练习】倒计时【01】天(准考证组委会已下发,请查询)
210 0
|
机器人
【蓝桥杯省赛】冲刺练习题【数学公式】倒计时【05】天(准考证组委会已下发,请查询)
【蓝桥杯省赛】冲刺练习题【数学公式】倒计时【05】天(准考证组委会已下发,请查询)
95 0
|
6月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-992 士兵杀敌(二)
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-992 士兵杀敌(二)
77 1
|
6月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
106 0
|
6月前
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
82 0
|
6月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-999 数的潜能
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-999 数的潜能
82 0
|
6月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-997 粘木棍
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-997 粘木棍
88 0