数组乘积
题目描述
给定一个长度为 n 的整数数组 a(数组下标从 1 开始,即 a=[a1,a2,⋯,an])。对于每个位置 i(1≤i≤n),你需要计算并输出除 ai 这个数之外,数组中其余所有数的乘积。由于最终结果可能非常大,你需要将结果对 p=109+7 取模后输出。
输入格式
- 第一行:一个整数 n,表示数组的长度。
- 第二行:n 个整数 a1,a2,⋯,an,表示给定的整数数组。
输出格式
输出 n 个整数,第 i 个整数为除 ai 外数组中其余所有数的乘积对 p=109+7 取模后的结果,每个整数占一行。
数据范围
- 对于 30% 的数据,1≤n≤100。
- 对于 60% 的数据,1≤n≤10000。
- 对于 100% 的数据,1≤n≤105,1≤ai≤100。
样例数据
输入
3
2 3 4
输出
12
8
6
解释
对于第一个位置(i=1),除 a1=2 外其余数的乘积为 a2×a3=3×4=12,对 p=109+7 取模后仍为 12;对于第二个位置(i=2),除 a2=3 外其余数的乘积为 a1×a3=2×4=8,对 p=109+7 取模后为 8;对于第三个位置(i=3),除 a3=4 外其余数的乘积为 a1×a2=2×3=6,对 p=109+7 取模后为 6。