第六届蓝桥杯(国赛)——机器人繁殖

问题描述
X 星系的机器人可以自动复制自己。它们用 1 年的时间可以复制出 2 个自己,然后就失去复制能力。

每年 X 星系都会选出 1 个新出生的机器人发往太空。也就是说,如果 X 星系原有机器人 5 个。

1 年后总数是:5 + 9 = 14
2 年后总数是:5 + 9 + 17 = 31

如果已经探测经过 n 年后的机器人总数 s,你能算出最初有多少机器人吗?

输入格式
输入一行两个数字 n 和 s,用空格分开,含义如上。n不大于100,s 位数不超过 50 位。

输出格式
要求输出一行,一个整数,表示最初有机器人多少个。

样例输入1
2 31

样例输出1
5

样例输入2
97 2218388550399401452619230609499

样例输出2
8


题解一
枚举:

#include <iostream>
using namespace std;

int main()
{
	double n, s;
	cin >> n >> s;
	
	for (double i = 1; i <= s; i ++)
	{
		double cnt = i, tmp = i;
		for (int j = 1; j <= n; j ++)
		{
			tmp = 2 * tmp - 1;
			cnt += tmp;			
		}
		
		if(cnt == s) 
		{
			cout << i << endl;
			return 0;
		}
	}
}

ps:数据比较水?如果总量特别大,然后时间特别少,不就超时了嘛

题解二
推公式:

设初始机器人数量为 x

第 1 列为当年新生机器人数量,第 2 列为当年机器人的总数量

第一年:2x - 1;3x - 1

第二年:4x - 3;7x - 4

第三年:8x - 7;15x - 11

...

第 n 年总数:(2n+1 - 1) * x - 2n+1 + 2 + n

∴ x = (s + 2n+1 - 2 - n) / (2n+1 - 1)

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
	double n, s;
	cin >> n >> s;
	
	cout << (s - 2 - n + pow(2, n + 1)) / (pow(2, n + 1) - 1) << endl;
	return 0;
}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GB/T 26238-2010《通用工业机器人——机器人关节性能测试方法》是中国国家标准化组织颁布的一项关于工业机器人的测试方法标准。 该标准旨在规定机器人关节性能测试方法,以确保机器人之间的性能指标能够得到准确的比较和评估。关节是机器人的重要组成部分,其性能直接影响机器人的运动灵活性和工作稳定性。 该标准包含了以下主要内容: 1. 测试设备与测量方法:标准规定了关节性能测试所需的测试设备和测量方法,包括关节力矩测量装置、关节位置测量装置、关节速度测量装置等。 2. 关节性能参数:标准定义了机器人关节性能的参数,如关节力矩、关节位置和关节速度等。这些参数是评价机器人关节性能优劣的重要指标。 3. 测试步骤与要求:标准详细描述了关节性能测试的步骤和要求,包括关节运动范围测试、关节加速度测试、关节速度测试等。这些测试步骤和要求可以确保测试结果的准确性和可靠性。 4. 数据处理和分析:标准对测试数据的处理和分析进行了规定,包括数据采集、数据处理、数据评估等。这些过程可以为机器人关节性能的比较和评估提供科学的依据。 通过遵循GB/T 26238-2010标准,可以对机器人的关节性能进行准确且可比较的测试。这有助于用户选择适合自己需求的机器人,并为机器人在实际应用中的运动能力和工作效果提供参考依据。同时,该标准也有助于促进机器人产业的发展和规范化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值