C++计算高次幂谁可以给一个简单的程序,计算a的b次方.a可以在0~100;b在0~1000;如果上限大的话,都会超过l
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/25 04:28:54
C++计算高次幂
谁可以给一个简单的程序,计算a的b次方.a可以在0~100;b在0~1000;如果上限大的话,都会超过long long 类型,是不是要用数组进行运算.
麻烦大神给个简单点的程序计算这个,适当加一点注释吧,我是新手
谁可以给一个简单的程序,计算a的b次方.a可以在0~100;b在0~1000;如果上限大的话,都会超过long long 类型,是不是要用数组进行运算.
麻烦大神给个简单点的程序计算这个,适当加一点注释吧,我是新手
#include<iostream>
using namespace std;
#define MAXN 10001 //a可以在0~100;b在0~1000,所以a^b最大为10^10000,不会超过10001位数
void modRes(int res[], int n);
int main()
{
int a,b,i;
int res[MAXN]={0};//存放结果的数组,可以看成一个大数
cout<<"input a and b:";
cin>>a>>b;
res[0]=a;
for(i=1;i<b;++i) {
for(int j=0;j<MAXN-1;++j) {
res[j] *= a;//大数的每一位乘以a
}
modRes(res, MAXN);//进位
}
for(i=MAXN-1;i>=0;--i) {//高位多余的0不需要输出
if(res[i] != 0) break;
}
cout<<a<<"^"<<b<<"=";
for(;i>=0;--i) {//从第一个不是0的高位开始输出
cout<<res[i];
}
cout<<endl;
return 0;
}
void modRes(int res[], int n) {//从低位开始向高位进位
for(int i=0;i<n-1;++i) {
res[i+1] += (res[i]/10);
res[i] %=10;
}
}
输出结果为:
input a and b:23 6
23^6=148035889
Press any key to continue
using namespace std;
#define MAXN 10001 //a可以在0~100;b在0~1000,所以a^b最大为10^10000,不会超过10001位数
void modRes(int res[], int n);
int main()
{
int a,b,i;
int res[MAXN]={0};//存放结果的数组,可以看成一个大数
cout<<"input a and b:";
cin>>a>>b;
res[0]=a;
for(i=1;i<b;++i) {
for(int j=0;j<MAXN-1;++j) {
res[j] *= a;//大数的每一位乘以a
}
modRes(res, MAXN);//进位
}
for(i=MAXN-1;i>=0;--i) {//高位多余的0不需要输出
if(res[i] != 0) break;
}
cout<<a<<"^"<<b<<"=";
for(;i>=0;--i) {//从第一个不是0的高位开始输出
cout<<res[i];
}
cout<<endl;
return 0;
}
void modRes(int res[], int n) {//从低位开始向高位进位
for(int i=0;i<n-1;++i) {
res[i+1] += (res[i]/10);
res[i] %=10;
}
}
输出结果为:
input a and b:23 6
23^6=148035889
Press any key to continue
C++计算高次幂谁可以给一个简单的程序,计算a的b次方.a可以在0~100;b在0~1000;如果上限大的话,都会超过l
用C语言写一个计算A+B的简单程序
有一个运算程序,可以使a*b=n.且(a+c)*b=n+c,a*(b+c)=n+2c.如果l*l=0,那么2010*20
c语言编写计算a+b=?的程序
C语言~补充完整以下程序,使其可以计算从a到b之间所有整数的和(a、b 均为从键盘输入的整数).
关于摩擦力的计算问题存在这样一个设想 两物体A B B放在不光滑的水平面上 A放在B上 A B间可以是静摩擦 也可以是滑
如果A一B=c(c不等于0)那么(A十B十c)/A的计算结果是多少?
同分母分数相加的计算法则可以写成(a/c)+(b/c)+(a+b/c)(c不等于0)对吗
以下叙述中正确的是( )A构成C程序的基本单位是函数 B 可以在一个函数中定义另一个函数C main ()
请画出一个图形来计算,(a+b+c)(a+b+c).(在图上标注必要的字母)
有理数abc在数轴上的位置如图所示,计算,|a-b|+|b-c|-|2b-a|.
在计算机的众多特点中,其最主要的特点是______.A、计算速度快 B、计算精度高 C、应用广泛 D、存储程序