水题:

将1,2...9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。


思路:

1.由于规模很小,不到1000,所以采用穷举的思想。

2.尽量优化:因为1-9数字不重复,所以循环从123开始,而最大的数为3×i=987。

3.对于每一个三位数i,设一个num数组,用来记录1-9中9个数字使用与否。

memset函数用法(百度百科)、头文件<string.h>:

void *memset(void *s, int ch, size_t n);

函数解释:将s中前n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体数组进行清零操作的一种最快方法[1] 
4.对于三位数i,有j=i×2,k=i×3要研究,把i,j,k中的每位数分解开,得出,9个数,在num数组中把出现的数字标记为1。

统计num数组中共有多少个为1的数字,即可知道i,j,l是否都为不重复的数字。

#include <stdio.h>
#include <string.h>

int main()
{
	int n,i,j,k,h, sum;
	int num[10];
	for(i=123; i*3<987; i++)
	{
		memset(num,0,10*sizeof(num[0]));
		num[i/100] = 1;
		num[i/10%10] = 1;
		num[i%10] = 1;
		j = i * 2;
		num[j/100] = 1;
		num[j/10%10] = 1;
		num[j%10] = 1;
		k = i * 3;
		num[k/100] = 1;
		num[k/10%10] = 1;
		num[k%10] = 1;
		sum = 0;
		for(h=1; h<10; h++)
		{
			sum += num[h];
		}
		if(sum == 9)
			printf("%d %d %d\n",i,j,k);
	}
	return 0;
}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
山地城市工厂的选址问是一个非常重要的决策,涉及到多方面的因素。在选择山地城市作为工厂的选址时,需要考虑以下几个方面。 首先,山地城市通常具有独特的地理位置和自然环境优势。山地地区通常地处高海拔地区,气候凉爽,空气质量好,这对于某些工业生产来说是非常有利的。此外,山地地区往往具有丰富的资源,有利于工厂生产和用需求。因此,选择山地城市作为工厂选址,可以充分利用这些自然资源优势。 其次,山地城市通常具有较低的用地成本。相对于平原地区,山地地区的土地价格往往较低,可以节省建设成本。此外,山地城市通常土地资源较为丰富,可以为工厂提供足够的用地空间。 此外,山地城市的劳动力资源也是一个重要的考虑因素。山地地区的人口相对较少,因此招聘和管理劳动力可能相对容易。此外,山地城市的劳动力成本也往往较低,对于一些劳动密集型工业来说具有竞争优势。 最后,选择山地城市作为工厂选址还要考虑交通和物流便利性。山地城市通常具有发达的公路网络和交通设施,可以方便地将产品运输到其他地区。此外,山地城市还可以利用山区丰富的资源发展路运输,进一步提高物流效率。 总之,选择山地城市作为工厂选址有诸多优势,包括自然环境、用地成本、劳动力资源和交通便利性等方面的优势。然而,也需要结合具体行业和企业的需求,综合考虑多种因素做出最佳决策。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值