JZOJ 4721 兰姐姐的愤怒

目录

链接

题目

4721 兰姐姐的愤怒

解析

代码

科普


链接

4721--兰姐姐的愤怒 (jzoj.cn)

题目

4721 兰姐姐的愤怒

时间限制: 1.000 Sec  内存限制: 128 MB

题目描述

兰姐姐是来自火星的女王。
由于兰姐姐实在太漂亮了,所以有许多仰慕她的人前来追求她。兰姐姐会给这个追求者一个考验:兰姐姐会打追求者许多巴掌,追求者有一个防御值x,当兰姐姐的攻击力a大于x时他就会被打到火星去,一开始兰姐姐的攻击力为1,每次追求者当下攻击后,兰姐姐的攻击力就会翻倍,现在问:如果知道了追求者的防御值x,求兰姐姐把他打到火星去时,兰姐姐的攻击力为几?

输入

只有一行,一个非负整数x,追求者的防御值

输出

只有一行,一个非负整数x,追求者的防御值

样例

输入1

5

输出1

8

提示

【数据范围】
数据保证1≤x≤2^31

解析

题目中已经提到两个数据(a=1,x)那么我们肯定就要定义它们了

一看2^31次方就是int的上限嘛,所以就直接

int a=1,x;

然后你写完其他代码提交,会发现下面

因为数据在循环中会翻倍,可能会超过int的范围,就要超长时间,题目最多1s

所以怎么办? 当然是换数据类型了!既然int不够 long long 走起

所以:

long long int a=1,x;

然后下面就简单多了

输入x→写循环→输出,结束

代码

#include <iostream>
using namespace std;

int main()
{
	long long a=1,x;
	cin >> x;
	while (a<=x)
	{
		if (a>x) break;
		a*=2;
	}
	cout << a;
	return 0;
}

科普

TLE(Time Limit Exceeded) 时间超限

运行超出时间限制,一般遇到该错误都会有循环结构,检查是否有死循环,或有更好的计算方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值