1 条题解

  • 0
    @ 2023-10-25 1:28:18

    【题目考点】

    1. 不同整型数据的范围
    类型 占用字节数 可表示数字范围
    char 1 -127~128
    short 2 -32,768~32,767
    unsigned short 0~65,535
    int 4 -2,147,483,648~2,147,483,647
    unsigned int 0~4,294,967,295
    long long 8 -9,223,372,036,854,775,808~9,223,372,036,854,775,807
    unsigned long long 0~18,446,744,073,709,551,615
    2. < cmath >库 乘方函数
    • 乘方函数:double pow(double a, double b); 求 a b a^b ab
    3. 循环

    【解题思路】

    观察变量范围,n满足: 0 < = n < 31 0 <= n < 31 0<=n<31 n最大值为30,幂最大值为 2 30 2^{30} 230,在int可以表示的范围内。 求 a b a^b ab,可以通过循环乘b次a得到结果,也可以调用乘方函数pow(a,b)得到结果

    【题解代码】

    解法1:循环
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n, r = 1;
        cin>>n;
        for(int i = 0; i < n; ++i)
            r *= 2;
        cout<<r;
        return 0;
    }
    
    解法2:调用pow函数
    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
    	int n;
    	cin>>n;
    	cout<<(int)pow(2, n);//pow返回浮点型,直接输出的话可能会以科学计数法输出。所以要转为整型后再输出。 
    	return 0;
    }
    
    • 1

    信息

    ID
    612
    时间
    1000ms
    内存
    128MiB
    难度
    10
    标签
    (无)
    递交数
    2
    已通过
    2
    上传者