重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
a1=1
创新互联公司长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为扶风企业提供专业的网站设计、成都网站建设,扶风网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。
a2=a1* 2^1
a3=a2* 2^2
.
.
.
a(n-1)=a(n-2)* 2^(n-2)
a(n)=a(n-1)* 2^(n-1)
相乘 得
a(n)=2^1 * 2^2 ... * 2^(n-1)=2^[n(n-1)/2]
计算10!,可以通过简单的递归函数实现,主要代码如下,
#include stdio.h
long fact(int n) //递归函数求解阶乘
{
if(n0)//输入数据检测
{
printf("输入数据n应=0!\n");
return -1;
}
if(n=1) //0!=1,1!=1
return 1;
else
return (n*fact(n-1)); //递归调用
}
int main(int argc, char *argv[])
{
printf("10!=%ld\n",fact(10));//打印10!
return 0;
}
c语言中,函数Func(Type a,……)直接或间接调用函数自身,则该函数称为递归函数。递归函数必须满足两个条件,
1、每一次调用函数自身都更接近于解;
2、函数 必须有一个明确的终止处理或计算的准则,比如本例中0!=1,1!=1。
累加累乘,呵呵,很简单的。
首先,就是定义一个变量(a=0)来保存结果,另定义一个变量(b)实现数值的变化。把数值变化的那个变量(b)的值每次和保存结果的变量(a)进行运算,结果赋给a.比如1——10的累加,就是先把1赋给a,之后b变成2,和a相加结果给a。如此反复就是累+。乘法一样
#include "stdio.h"
void main()
{int i,t;
i=1;t=2;
for(;i = 5;++i){
i=i+1,t=t*i;
}
printf("%d",t);
}
累乘的前提你需要是不断的循环,这样才能不断的去增加