15 条题解
-
3
解析
计算 的结果。
方案一
使用
<cmath>
中的pow
函数#include <iostream> #include <cmath> using namespace std; int main() { int n; cin >> n; cout << (int)(pow(2, n)); return 0; } #include <iostream> #include <cmath> #include <cstdio> using namespace std; int main() { int n; cin >> n; printf("%.0f", pow(2, n)); return 0; }
方案二
使用
<<
左移运算#include <iostream> using namespace std; int main() { int n; cin >> n; cout << (1 << n); return 0; }
-
0
这题简单诶!位运算听说过吗?没听说过?题这么多年都没有变过难度的,你不会位运算,有没有好好学C++啊(佳里佳气
位运算,把十进制数转化为二进制数进行运算
e.g.:1<<2 乘2的2次方
10>>1 除以2(有1自动省略,例如:3>>1=1)
其他的csp复习课都会讲,我就不说啦,直接上代码喽
#include <bits/stdc++.h> using namespace std; int x; int main() { cin>>x; cout<<(int)(1<<x); return 0; }
オーケー!(わん にあん ぶ びあん の くぃう ざん)
-
0
这里会有两种作法,一种使用prinf,一种用cout强转int。
第一种(prinf法) 1.导入cmath,这样才能成功使用pow 2.导入cstdio,使用printf 3.用int创建一个变量a 4.用cin接收输进来的数字 5.使用printf,注意占位符“%d”是int的占位符,调用pow函数的返回值是double,并非int,占位符应为“%0lf” (printf("0lf",pow(2,a))) 6.试一试吧
第二种(cout转int法) 1.一样的,先导入cmath,注意不需要导入cstdio了 2.用int创建变量a 3.使用cin接收数字 4.使用cout打印出pow(2,a),这里注意一下,打印出的数字后面有0.000000,将pow(2,a)在cout中直接强转int即可。(cout << (int)(pow(2,a))) 5.试一试吧
- 1
信息
- ID
- 135
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 7132
- 已通过
- 1919
- 上传者