#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n,j=1,tot=0;
cin>>n;
for(int i=1;i<=64;i++)
{
tot+=j;
j*=2;
if(i==n)
break;
}
cout<<tot;
}
//为什么最后会有两个点过不了

2 条评论

  • @ 2024-06-30 07:43:52

    我用unsigned long long也不行

  • @ 2023-06-15 21:02:47

    tot最大超过long long范围

    • @ 2024-06-30 07:45:30

      unsigned long long也不通过,但其实应该可以

    • @Infinity_: 你开double应该行,记得用setprecision(0),不然会输出科学计数法。或者你直接搞pow输出,不用开变量。

    • @ 2024-07-09 17:48:15

      @240206zj徐嘉昊 (2212224徐嘉昊): 是要输出科学计数法的,我刚才看了一下,long long WA的原因就是没输出科学计数法

    • @ 2024-07-09 17:56:38

      @240206zj徐嘉昊 (2212224徐嘉昊): 直接pow输出真就行

  • 1

信息

ID
1650
难度
4
分类
(无)
标签
递交数
323
已通过
144
通过率
45%
被复制
6
上传者