输入63没问题,输入64就溢出了,咋解决啊大佬们。

#include<stdio.h>
#include<math.h>

int main()
{
    unsigned int n,i;
    unsigned __int64 sum=0;

    scanf("%d",&n);
    for(i=0;i<n;i++)
        sum += pow(2,i);
    printf("%I64u\n",sum);

    return 0;
}

int 这个类型的范围是多少呢?  你可以查一下。 

你这2的64次方超范围了兄弟。最大取值是这个数:2147483647。百分百超范围了

我这应该是最大范围了,但是题目验证的时候,输入64就错了。

请使用大数库

https://gmplib.org/