2的n次方怎么编程
来源:百度知道 编辑:UC知道 时间:2024/09/25 04:34:21
怎么改动下面程序来实现2的n此方的输出:
#include <stdio.h>
void main()
{int i=0,n=0,fac=1;
printf("input n:")
scanf("%d",n);
for(i=1;i<=n;i++)
{
fac=fac*i;
printf("%d!=%d\n");}
}fac是阶乘
}
#include <stdio.h>
void main()
{int i=0,n=0,fac=1;
printf("input n:")
scanf("%d",n);
for(i=1;i<=n;i++)
{
fac=fac*i;
printf("%d!=%d\n");}
}fac是阶乘
}
可以用C语言进行编程:
#include<stdio.h>
#include<math.h>
main()
{
int n;
long j;
scanf("%d",&n);
j=pow(2,n);
printf("2^n=%d\n",j);
}
#include<stdio.h>
double fac(int i)
{
if (i>0)
return -1;
if (1 == i||0 ==i)
return 1;
else return fac*fac(i-1);
}
/*然后调用!*/
计算n次幂的时间复杂度只要logn就好了。楼上的方法太慢了,这样的话根本体现不出递归的优势
unsigned long pow(const int x,const int n)
{
if (1 == n)
return n;
unsigned long tmp = pow (x,n/2);
return n%2 ? tmp*tmp*x : tmp*tmp;
}
这个函数会计算x的n次幂!
#include <stdio.h>
void main()
{
int i=0,n=0,fac=1;
printf("input n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
fac*=2;
}
printf(&quo