【C语言蓝桥杯每日一题】—— 货物摆放

【C语言蓝桥杯每日一题】—— 货物摆放😎


追梦之旅,你我同行

   
😎博客昵称:博客小梦
😊最喜欢的座右铭:全神贯注的上吧!!!
😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!

😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘
在这里插入图片描述

前言🙌

    哈喽各位友友们😊,我今天又学到了很多有趣的知识,现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享【C语言蓝桥杯每日一题】—— 货物摆放~ 都是精华内容,可不要错过哟!!!😍😍😍

排序🙌

在这里插入图片描述
解题思路分析: 😍

  • 首先,先认真阅读题目,然后整理思路。
  • 这里尝试了一下,由于数据过大,只能用long long类型才能够接受题目要求的数字。
  • 利用题目所给的公式, n = L * W * H ,其实就是找一个数的三个因子。
  • 第一层for循环,是在找第一个因子。其实就是 n 取模 i 为0,即符合条件。
  • 第二层循环是在找第二个因子。和第一个因子判断方式一样;
  • 然后寻找第三个因子k。因为以求得前两个因子,那么让n 分别除以 i ,和 j ,结果就是第三个因子。
  • 由排列组合知识分析可知,当三条边都一样时,只有一种方案;当任意两边相等时,有3中排列组合方案;当三条边都不相等时,有6中排列组合方案。

解题源码分享: 😍

#include<stdio.h>

int main()
{
	long long  n = 2021041820210418;
	long long  i = 0;
	long long  j = 0;
	long k = 0;
	int res = 0;
	for (i = 1; i * i * i <= n; i++)
	{
		if (n % i == 0)
		{
			for (j = i; i * j * j <= n; j++)
			{
				if (n / i % j == 0)
				{
					k = n / i / j;
					if (i == j && i == k)
						res++;
					else if (i == j || i == k || j == k)
						res += 3;
					else
						res += 6;
				}
			}
		}
	}
	printf("%d", res);
	return 0;
}

程序输出结果验证: 😊
在这里插入图片描述

总结撒花💞

   本篇文章旨在分享【C语言蓝桥杯每日一题】—— 货物摆放。希望大家通过阅读此文有所收获!😘如果我写的有什么不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘😘😘

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>