题解 P6581 【远大目标】
这题很简单,尤其是数据范围给我们的提示。
首先,我们知道 int 显然存不了 long long,而 long long 在乘以 unsigned long long。
但是,由于 unsigned long long 存不了负数,所以我们先用 long long 读入,转存 unsigned long long 最后输出,这样就可以了。
同时,如果是非正数的情况,直接输出
代码如下:
#include <iostream>
using namespace std;
int main()
{
long long a;
cin >> a;
if(a <= 0) { cout << 0; return 0; }
unsigned long long b = a;
cout << 2 * b - 1;
return 0;
}