首页 > 其他分享 >[每天例题]蓝桥杯 C语言 货物摆放

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

时间:2023-04-13 19:23:45浏览次数:41  
标签:int sum long 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。由此,我们可以知道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; 
}

  运行结果

标签:int,sum,long,C语言,蓝桥,因子,摆放,例题
From: https://www.cnblogs.com/hcrzhi/p/17316062.html

相关文章

  • c语言基础
    目录1、初识C语言1.1、第一个C语言程序1.2、变量与常量1.3、数据类型1.4、关键字2、分支与循环2.1、分支结构2.2、循环结构3、数组3.1、定义3.2、使用4、指针4.1、定义4.2、大小4.3、使用5、函数5.1、定义5.2、函数的分类5.3、形参与实参5.4、......
  • c语言贪吃蛇(2)关于蛇的函数封装
    hassnakenode():检测循环体内部是否含有蛇身结点,若有,则返回1(对应main输出蛇结点),否则判断点后移吗,再判断,之后返回0(不输出蛇结点)  addnode():创造新蛇结点,用malloc申请空间,并插入到尾结点之后。(尾插法)initsnake():创建初始头尾结点,malloc申请空间,方便后续蛇结点的添加,初始赋......
  • c语言贪吃蛇(1)地图实现
    采用循环输出来实现按照行和列的顺序两次for循环输出。代码:结果: ......
  • 第十四届蓝桥杯省赛c/c++大学B组 试题A:日期统计(无深搜暴力求解)
    试题A:日期统计本题总分:5分【问题描述】小蓝现在有一个长度为100的数组,数组中的每个元素的值都在0到9的范围之内。数组中的元素从左至右如下所示:56869161249198236477595038758158618303792705885709919446......
  • 编程打卡:C语言趣味编程习题做
    编程打卡:C语言趣味编程习题做百钱百鸡问题问题描述一只Cock卖5钱,Hen卖3钱,chicken卖0.33333333钱,真正工作的时候不要用浮点数存钱啊笨蛋!然后100钱买了100只鸡,问各买了多少只。设计思路解不定方程,穷举。两层循环遍历各种鸡的个数,第三种鸡可以直接相减得出结果,然后判......
  • C语言或C++语言的多个文件共同处理资料之方法
    C语言和C++语言在多个文件互相包含时会产生顺序方面的冲突,为了实现多个文件处理共同的资料,我说一个实现它的方法。把对象资料放在资料文件,在设置资料的方法文件中导入资料文件,然后在主文件中导入资料文件和方法文件,用方法文件的方法设置资料。它们的特点是依照先后顺序导入,不互相......
  • 关于百鸡百钱问题的C语言解决
    百鸡百钱问题 1.问题描述公鸡5钱一只,母鸡3钱一只,小鸡1钱三只,用一百个钱买一百只鸡,公鸡,母鸡,小鸡各多少只2.设计思路不妨先设公鸡数量为x母鸡数量为y小鸡数量为z则可列出方程:x+y+z=1005x+3y+1/3z=100又因为只有100钱所以x<20y<333.程序流程 4.代码#include<stdio.h>......
  • C语言二维数组
    #include<stdio.h>intmain(){/**inta[3][5];通常理解a为一个三行五列的矩阵*///二维数组的遍历inta[3][5];inti,j;for(i=0;i<3;i++){for(j=0;j<5;j++){a[i][j]=i*j;}}//二......
  • C语言数组基础知识(关于索引)
    #include<stdio.h>intmain(){inti;//遍历输出分别值inta[]={1,2,3,4,5};for(i=0;i<5;i++){printf("%d\t",a[i]);//12345};printf("\n");//若给的值不够就用0补齐......
  • 逍遥自在学C语言 | 位运算符^的高级用法
    前言在上一篇文章中,我们介绍了|运算符的高级用法,本篇文章,我们将介绍^运算符的一些高级用法。一、人物简介第一位闪亮登场,有请今后会一直教我们C语言的老师——自在。第二位上场的是和我们一起学习的小白程序猿——逍遥。二、交换两个变量的值#include<stdio.h>......