A40854. 机器人繁殖
填空题
困难
知识点
题目描述
机器人繁殖
题目描述
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;
}
}
}
上一题
下一题