信息学奥赛一本通 1037:计算2的幂 | OpenJudge NOI 1.3 20
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通 1037:计算2的幂 | OpenJudge NOI 1.3 20
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
【題目鏈接】
ybt 1037:計(jì)算2的冪
OpenJudge NOI 1.3 20:計(jì)算2的冪
【題目考點(diǎn)】
1. 不同整型數(shù)據(jù)的范圍
| char | 1 | -127~128 |
| short | 2 | -32,768~32,767 |
| unsigned short | 2 | 0~65,535 |
| int | 4 | -2,147,483,648~2,147,483,647 |
| unsigned int | 4 | 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 | 8 | 0~18,446,744,073,709,551,615 |
2. < cmath >庫 乘方函數(shù)
- 乘方函數(shù):double pow(double a, double b); 求aba^bab
3. 循環(huán)
【解題思路】
觀察變量范圍,n滿足:0<=n<310 <= n < 310<=n<31
n最大值為30,冪最大值為2302^{30}230,在int可以表示的范圍內(nèi)。
求aba^bab,可以通過循環(huán)乘b次a得到結(jié)果,也可以調(diào)用乘方函數(shù)pow(a,b)得到結(jié)果
【題解代碼】
解法1:循環(huán)
#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:調(diào)用pow函數(shù)
#include <bits/stdc++.h> using namespace std; int main() {int n;cin>>n;cout<<(int)pow(2, n);//pow返回浮點(diǎn)型,直接輸出的話可能會以科學(xué)計(jì)數(shù)法輸出。所以要轉(zhuǎn)為整型后再輸出。 return 0; }總結(jié)
以上是生活随笔為你收集整理的信息学奥赛一本通 1037:计算2的幂 | OpenJudge NOI 1.3 20的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图解排序算法(三)之堆排序
- 下一篇: 信息学奥赛一本通 2018:【例4.3】