标签:point int pow printf namespace 012 L1 using main
-
int ans = pow(2, n);
最开始想想直接输出 pow() 函数的返回值,但发现结果都是错的,很不解,所以多声明一变量来保存答案再输出。
看了下关于 pow() 介绍,发现该函数的函数类型是 double 跟这里 %d 的结果可能是不匹配的,所以结果需要进行类型转换 (int) 。
-
参考了其他人写法,该题底数是 2 所以恰好可以用位运算的方式。只需要向高位进 n 位即可。 2^0 = 1, 所以初始值设为 1 。
cout << "2^" << n << " = " << (1 << n);
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
printf("2^%d = %d", n, (int)pow(2, n));
}
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
printf("2^%d = %d", n, (int)pow(2, n));
}
标签:point,int,pow,printf,namespace,012,L1,using,main 来源: https://www.cnblogs.com/Atl212/p/15367322.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。