Description
找出输入数据中所有两两相乘的积为12!的个数。
Input
输入数据中含有一些整数n(1≤n<2^32)。
Output
输出所有两两相乘的积为12!的个数。
Sample Input
1 10000 159667200 9696 38373635 1000000 479001600 3
Sample Output
2
题目中n<2^32,本来以为会时间超限不过竟然通过了,题目中测试数据太小吧。。。
AC代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long s = 1;
for (int i = 1; i < 13; i++)
s *= i;//求12!
long a[] = new long[100];
int i = 0;
String x = sc.nextLine();
String[] ss = x.trim().split(" ");
for (i = 0; i < ss.length; i++)
a[i] = Long.parseLong(ss[i]);
int sum = 0;
for (int j = 0; j < i; j++) {
for (int m = 0; m <= j; m++) {
if (s / a[j] == a[m])
sum++;
}
}
System.out.println(sum);
}
}

本文介绍了一个算法问题:对于一系列整数,找出所有两两相乘其结果等于12!(即12的阶乘)的组合数量。使用Java实现,通过对输入整数进行解析并比较其两两之间的乘积是否符合要求来解决该问题。
2099

被折叠的 条评论
为什么被折叠?



