import java.util.Scanner;
public class 平面分割公式 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 直线个数
int n = sc.nextInt();
// 圆的个数
int m = sc.nextInt();
// 计算n条直线最多能把平面分成几个部分
System.out.println(line(n));
// 计算m个圆最多能把平面分成几个部分
System.out.println(round(m));
// 计算m个圆和n条直线最多能把平面分成几个部分
System.out.println(round_line(n, m));
}
/**
* 计算m个圆和n条直线最多能把平面分成几个部分
* @param n 直线个数
* @param m 圆的个数
* @return 最多能把平面分成几个部分
*/
private static int round_line(int n, int m) {
return m * m - m + 2 * m * n + 1 + 1 + n * (1 + n) / 2;
}
/**
* 计算m个圆最多能把平面分成几个部分
* @param m 圆的个数
* @return 最多能把平面分成几个部分
*/
private static int round(int m) {
return 2 + m * (m - 1);
}
/**
* 计算n条直线最多能把平面分成几个部分
* @param n 直线个数
* @return 最多能把平面分成几个部分
*/
private static int line(int n) {
return 1 + n * (1 + n) / 2;
}
}
关于平面分割的公式 Java版
于 2022-04-14 11:12:14 首次发布