江门网站优化经验,深圳公交公司官网,网站规划图,建网站有哪些文件夹小蓝有一个超大的仓库#xff0c;可以摆放很多货物。
现在#xff0c;小蓝有 n 箱货物要摆放在仓库#xff0c;每箱货物都是规则的正方体。小蓝规定了长、宽、高三个互相垂直的方向#xff0c;每箱货物的边都必须严格平行于长、宽、高。
小蓝希望所有的货物最终摆成一个大…小蓝有一个超大的仓库可以摆放很多货物。
现在小蓝有 n 箱货物要摆放在仓库每箱货物都是规则的正方体。小蓝规定了长、宽、高三个互相垂直的方向每箱货物的边都必须严格平行于长、宽、高。
小蓝希望所有的货物最终摆成一个大的长方体。即在长、宽、高的方向上分别堆 L、W、H 的货物,满足 nL×W×H。
给定 n请问有多少种堆放货物的方案满足要求。
例如当 n4 时有以下 6种方案1×1×4、1×2×2、1×4×1、2×1×2、2×2×1、4×1×1
请问当 n2021041820210418 注意有 16 位数字时总共有多少种方案
提示建议使用计算机编程解决问题。
#include stdio.h
int main ()
{long long n2021041820210418, i, j, count 0,a[3000], cnt 0;//找出所有因子放进数组for(int i 1; i sqrt(n); i){if(n % i 0){a[cnt] i;printf(ys1:%lld ,a[cnt]);if(i*i ! n) {a[cnt] n/i;printf(ys2:%lld ,a[cnt]);}}}for (i 1; i cnt; i) {if (n%a[i]0) {printf(x%lld:%lld\n ,i,a[i]);for (j 1; j cnt; j) {if ((n/a[i])%a[j]0) {printf(y%lld:%lld ,j,n/a[j]);count;}}}}printf(\n总个数为%lld,count);
}