8 条题解
-
1
说明:
主要考查把数学问题转换为编程问题。
2n的值,即2的n次方,是n个2相乘的结果。
例如2²是2的2次方,也称2的平方,即2×2。
再如2³是2的3次方,也称2的立方,即2×2×2。
n的值是通过输入获取的、不确定的,所以不能直接相乘。对于没有学过更深的知识点(例如循环),可以使用pow函数(前面的题解有具体介绍过)。
pow函数原型:
double pow(double x, double y);
pow函数的使用方法:
包含数据库头文件:
C语言用法:<math.h>
C++用法:
其中x是底数,y是指数。例如本题应该这么用:pow(2, n),它返回的也是double类型,即它的结果。
例如pow(2, 3)的结果为8。
关于其他的解法,在后续的文章中会详细讲解到。
思路分析:
数据类型可以选择int类型,本题n的值小于31,2的31次方刚好在int类型的范围内。当然也可以选择unsigned、long等类型。
而pow函数返回的结果是double类型,所以应转换为整型。
求解过程: 声明1个整型类型变量n。
输入一个整数给变量n。
输出2的n次方。
因为太简单了,就放下核心代码:
cout << int(pow(2,n));
啥意思呢,就是把pow的结果转为int类型
最后就写个int,然后把核心代码一放就OK了
-
0
解析:
补充一个函数:pow(参数1,参数2),原型是double pow(double x,double y);
使用的头文件是
#include<math.h>
参数1是底,参数2是指数。比如3的5次方,那么参数1就是3,参数2就是5,可以写作pow(3,5),表示的是3×3×3×3×3。当数据范围很小的时候,他的计算结果是整数,但是数据类型其实是double类型
在这题中,注意数据范围可能很大,所以可以把结果定义为
long long
类型。当然对于pow的参数还有更多的展开,大家可以自行搜索
核心代码
long long x=pow(2,n); cout<<x;
- 1
信息
- ID
- 104
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 4
- 标签
- 递交数
- 326
- 已通过
- 158
- 上传者