⑴ c语言数组求幂谢谢
#include<stdio.h>
#include<string.h>
int poll(int a,int b)
{
int i,s=1;
for(i=1;i<=b;i++)
s=s*a;
return s;
}//自定义的求幂函数
int main()
{
int i,j,k,l,n,m;
int t;
char a[100];
int poll(int a,int b);
while(scanf("%d %s",&n,a)!=EOF)//输入
{
t=0;
l=strlen(a)-1;
printf("%d\n%s\n",n,a);//将输入输出
for(i=0;a[i]!='\0';i++)//转换过程
{
if(n!=16)
{
t=t+(a[i]-'0')*poll(n,l);
l--;
}
else
{
if(a[i]>='A'&&a[i]<='f')
t=t+(a[i]-'A'+10)*poll(n,l);
else
t=t+(a[i]-'0')*poll(n,l);
l--;
}
}
printf("%d\n",t);//所求的结果
}
}
这个代码没有问题,不懂的话,在问我吧
其中n就是2或8或16,也可以是别的数,而a[]就是与n相对应的进制数
下面是输入输出样例
2 10101010110
2
10101010110
1366
8 777777777
8
777777777
134217727
16 F08F89FAD
16
F08F89FAD
150511533
⑵ C语言中的幂函数··
extern float pow(float x, float y)
用法:#include <math.h>
功能:计算x的y次幂。
说明:x应大于零,返回幂指数的结果。
举例:
// pow.c
#include <stdlib.h>
#include <math.h>
#include <conio.h>
void main()
{
printf("4^5=%f",pow(4.,5.));
getchar();
}
相关函数:pow10
⑶ C语言如何实现幂运算
C语言中计算一个数的N次方可以用库函数pow来实现。
函数原型:double pow(double x, double y);
功 能:计算x^y的值
返 回 值:计算结果
举例如下:
double a = pow(3.14, 2); // 计算3.14的平方
注:使用pow函数时,需要将头文件#include<math.h>包含进源文件中。
⑷ C语言中怎么求幂
可以用在math.h头文件中声明的pow()函数求,例如:
要求a的b次方,就用pow(a,b)即可。
^符号在C中是位异或操作符,不用于求乘方。
⑸ C语言 求幂值。。
同意楼上的 ->f的值小于10的-8次??? 明显太扯了
并且x的值稍微大一点 double的精度就都爆掉 除非你用高精度去存 假设你不考虑高精度 那这种运算明显应该用位运算来写比较合理
参考下面代码
#include<stdio.h>
#include<iostream>
usingnamespacestd;
intmodexp(longlonga,longlongb,longlongn)
{
intret=1;
longlongtmp=a;
while(b)
{
//基数存在
if(b&0x1)ret=ret*tmp%n;
tmp=tmp*tmp%n;
b>>=1;
}
returnret;
}
intmain()
{
inta,b,c;
scanf("%d%d%d",&a,&b,&c);
intans=modexp(a,b,c);
cout<<ans<<endl;
}
这个是 (a^n)mod b 的算法模板
⑹ C语言求幂
1,for循环的条件错了,应该是大于号。
2,math.h中的函数用的时候要慎重,这些都是用来做复杂的数学计算的,时间开销都很大。
3,求余只能对整数操作,这点是必然的。但浮点数是可以转换成整数的,可以用强制类型转换,或者设一个整型的中间变量。注意浮点数转整数的时候是舍入的。当然,这里只是说这个事,不建议这样做。
建议的做法有两个,简单点延用原有的思路,可以自己写一个求10的k次方的函数,用整数进行运算。
int pow10n( int k )
{
r = 1;
for(i=0; i <k ; ++i)
r *= 10;
return r;
}
复杂点的做法是把求10的k次方这个运算和拆分n的循环嵌在一起,这个应该是正统的做法。
for( k=0; k<3; ++k )
{
n %= 10;
}
当然,这个算法得到的结果是逆序的,4、3、2、1
这有两个办法,一个是把结果顺序放到数组中,输出的时候把顺序倒过来,说白了是用中间变量。
另外一个办法是用栈,或者用递归(本质上也是用的栈),直接按逆序出结果。当然,这个方法对初学者有点难度了。
⑺ C语言中的幂函数··
extern float pow(float x, float y)
用法:#include <math.h>
功能:计算x的y次幂。
说明:x应大于零,返回幂指数的结果。
举例:
// pow.c
#include <stdlib.h>
#include <math.h>
#include <conio.h>
void main()
{
printf("4^5=%f",pow(4.,5.));
getchar();
}
相关函数:pow10
⑻ C语言计算幂函数怎么算
#include
<stdio.h>
int
main(void)
{
int
x,y=1,z;
printf("Enter
x:");
scanf("%d",&x);
for(z=1;z<=x;z++)
{
y=y*x;
}
printf("y=%d",y);
return
0;
}
或
#include
<stdio.h>
#include
<math.h>
int
main(void)
{
int
x,y;
printf("Enter
x:");
scanf("%d",&x);
y=pow(x,x);
printf("y=%d",y);
return
0;
}
⑼ 在C语言中如何计算一个数的幂的方法有哪些
整数的话最简单的办法就是将一个给定到数连乘n次;以计算a到n次幂为例:
#include"stdio.h"
main()
{
double a,temp;
int n,i;
temp=1;
printf("请输入底数:");
scanf("%d",&a);
printf("请输入指数:");
scanf("%d",&n);
for(i=0;i<n;i++);
{
temp=temp*a;
}
printf("%f",temp);
}
这种方法只适用与指数n为>=0的整数;如果涉及分数或负数要用到数学函数#include"math.h"
⑽ 在C语言中如何计算一个数的幂的方法有哪些
整数的话最简单的办法就是将一个给定到数连乘n次;以计算a到n次幂为例:
#include"stdio.h"
main()
{
double
a,temp;
int
n,i;
temp=1;
printf("请输入底数:");
scanf("%d",&a);
printf("请输入指数:");
scanf("%d",&n);
for(i=0;i
{
temp=temp*a;
}
printf("%f",temp);
}
这种方法只适用与指数n为>=0的整数;如果涉及分数或负数要用到数学函数#include"math.h"