[每天例题]蓝桥杯 C语言 货物摆放

发布时间 2023-04-13 19:13:59作者: 山远尽成云

货物摆放

题目

题目要求

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。由此,我们可以知道LWHn因子

思路分析

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; 
}

  运行结果