【每天例题】蓝桥杯 C语言 货物摆放
货物摆放
题目

题目要求
1.n=L×W×H
2.本题的结果为一个整数。
3.当 n = 4n=4 时,有以下 66种方案:1×1×4、1×2×2、1×4×1、2×1×2、2 × 2 × 1、4 × 1 × 1。由此,我们可以知道L、W、H为n的因子
思路分析
1.由于n过大,所以使用long long int进行声明。
2.先求出n的所有因数,将其储存于数组中。
方法一:可以先把n拆分为两个因子,再将其中一个因子再次拆分为两个因子。
方法二:可以直接求三个因子,符合三因子乘积为n的可进行sum++。
3.当三个因子的乘积为n时,sum+1。
4.使用for循环进行把因数输入到数组中,再使用for循环,判断是否可以使sum++。
代码
#include<stdio.h>
int main()
{
long long int n=2021041820210418;
long long int i,j=0;
long long int s[1000];
long long int c;
int sum=0;
for(i=1;i<=n/i;i++)
{
if(n%i==0)//判断是否为整数
{
s[j++]=i;
c=n/i;
if(c!=i)
s[j++]=c;
}
}
for(int a=0;a<j;a++)
{
for(int b=0;b<j;b++)
{
for(int d=0;d<j;d++)
{
long long int trmp1=s[a]*s[b];
if(trmp1*s[d]==n)
sum++;
}
}
}
printf("%d",sum);
return 0;
}
运行结果


浙公网安备 33010602011771号