0
点赞
收藏
分享

微信扫一扫

货物摆放~

爱奔跑的读书者 2022-04-01 阅读 79

题目货物摆放

方法一

由于题目给的数据很大直接使用三个 for循环是算不出结果的。

public class Main {
	
	public static void main(String[] args) {

		long n = 2021041820210418L;
        // 这里数组大小是多少都可以,只要不越界就好
		long arr[] = new long[130];
		int i = 0; // 记录数组下标
		int count = 0; // 记录有多少种组合
		for (long j = 1; j*j <= n; j++) {
			if (n%j == 0) {
				arr[i++] = j; // 计算出 比 n 开平方小的因数
				if(j != n/j) {
					arr[i++] = n/j; // 计算出 比 n开平方大的因数
				}
			}
		}
		for (int j = 1; j < i; j++) {
			for (int j2 = 1; j2 < i; j2++) {
				for (int k = 1; k < i; k++) {
					if(arr[j]*arr[j2]*arr[k] == n)count++;
				}
			}
		}
		System.out.println(count);
	}
}
举报

相关推荐

0 条评论