一、刷题内容
蓝桥杯真题:《货物摆放》
二、知识点
复习:
sizeof()函数:计算操作数所占空间的字节大小。可以以类型、指针、数组和函数等作为参数。
int、long int、long long:32位(4字节)、64位(8字节)、128位(16字节)(64位电脑为例)。
总结:
今天做题让我纠结的点主要是在int所占位数,而且在查阅了一些网上和书上的资料后,貌似并没有一个很准确的答案,要是有准确的答案的话,希望各位能在评论区留言交流一下。并没有学到太多。
三、解题思路
这个题我第一次在做的时候忘记了他有除了2之外的约数。
后面看的题解,明白这个题就是先找到他所有的约数,然后再在后续的循环遍历中去判断三个数相乘能否满足这个体积。
因为这几个数是存到一个约数的数组种,当然不能重复。
四、解题代码
#include <iostream>
using namespace std;
long long n;
long long a[10000000];
int main()
{
/*long long index=0,cnt=0,i=0,l,w,h;
cin>>n;
for(i=1;i*i<=n;i++)
{
if(n%i==0)
{
a[index]=i;
index++;
if(n/i!=i)
{
a[index]=(n/i);
index++;
}
}
}
for(l=0;l<index;l++)
{
for(w=0;w<index;w++)
{
for(h=0;h<index;h++)
{
if(a[l]*a[w]*a[h]==n) cnt++;
}
}
}
cout<<cnt;*/
cout<<2430;
return 0;
}