1069:乘方计算
时间限制: 1000 ms 内存限制: 65536 KB
【题目描述】
给出一个整数a和一个正整数n(-1000000≤a≤1000000,1≤n≤10000),求乘方an,即乘方结果。最终结果的绝对值不超过1000000。
【输入】
一行,包含两个整数a和n。-1000000≤a≤1000000,1≤n≤10000。
【输出】
一个整数,即乘方结果。题目保证最终结果的绝对值不超过1000000。
【输入样例】
2 3
【输出样例】
8
说明:
主要考查乘方问题在循环中的应用。
an表示n个a进行相乘的结果。例如a = 2,n = 3,表示3个2相乘,即2×2×2=8。
题目概述:
输入a和n,求出乘方an的结果。
思路分析:
在上方已说明乘方的概念。利用循环即可。
输入a和n,循环n次,每次乘以a。循环n次后,刚好有n个a相乘。
应使用一个变量来存储每次乘以a的结果,可以用变量power来表示乘方。同时变量power应有一个具体的初值。在以前的求和或计数中,变量sum初值为0,cnt初值为0。但那是相加,而现在是相乘,如果power初值为0,那么0乘以任何数都为0,而1乘以任何数都为该数本身,所以power初值应为1。算法与求和一样,只不过把加号改为乘号而已。
数据类型:本题的数据看似很大,其实题目已指明最终结果的绝对值不超过1000000,所以选择int类型即可。
延伸学习:
本题除了使用循环外,还可以使用数学库函数pow,用法如下:
pow(a, n)
C++头文件
C语言头文件<math.h>
例如a = 2,n = 3,那么pow(a, n)的结果为8。
在下方代码中也会展示本方法。
建议初学者应使用循环来完成,从而达到进一步熟练循环的基本用法和对乘方的理解,使自己的算法能力得到更好的提升。
求解过程:
声明3个int类型变量a、n、power = 1。
输入2个整数分别给变量a和n。
循环n次,循环体中:
1.将power乘以a赋给power。
2.i++。
循环外:
输出power的值。
参考代码 – C++:
// 方法1(循环)
#include <iostream>
using namespace std;
int main()
{
int a, n, power = 1;
cin >> a >> n;
for (int i = 1; i <= n; i++)
power *= a; // 相当于power=power*a
cout << power;
return 0;
}
// 方法2(pow函数)
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a, n;
cin >> a >> n;
int power = pow(a, n);
cout << power;
return 0;
}
参考代码 – C语言:
#include <stdio.h>
int main()
{
int a, n, power = 1, i;
scanf("%d %d", &a, &n);
for (i = 1; i <= n; i++)
power *= a; // 相当于power=power*a
printf("%d", power);
return 0;
}
今天的文章1069:乘方计算分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/24779.html