21xrx.com
2024-12-22 19:59:56 Sunday
登录
文章检索 我的文章 写文章
Java中常见的算法题及解决方案
2023-06-15 00:49:37 深夜i     --     --
Java算法题 最大公约数 斐波那契数列 素数

在Java编程中,经常会遇到各种各样的算法题。这些题目既挑战了程序员的编程能力,也锻炼了他们的思维能力。以下将介绍几个常见的Java算法题及解决方案。

1. 求两个整数的最大公约数(GCD)

最大公约数是指两个或多个整数共有约数中最大的一个数。Java中求两个整数的最大公约数可以用辗转相除法(欧几里得算法)实现。具体代码如下:


public static int gcd(int a, int b) {

  if (b == 0) return a;

  return gcd(b, a % b);

}

2. 求斐波那契数列的第n项

斐波那契数列是指:0、1、1、2、3、5、8、13、21、……在Java中求斐波那契数列的第n项可以使用递归实现,也可以使用循环实现。以下是使用递归实现的代码:


public static int fibonacci(int n) {

  if (n <= 1) return n;

  return fibonacci(n - 1) + fibonacci(n - 2);

}

3. 判断一个数是否为素数

素数指的是只能被1和自身整除的自然数。在Java中可以使用循环判断一个数是否为素数。以下是判断一个数是否为素数的代码:


public static boolean isPrime(int n) {

  if (n <= 1) return false;

  for (int i = 2; i <= Math.sqrt(n); i++) {

    if (n % i == 0) return false;

  }

  return true;

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复