C语言细胞分裂问题
1个细胞,每3个小时分裂一次,可分裂为四个细胞,四个细胞中有一个不再继续分裂,其他三个细胞在3个小时后继续分裂。问:刚开始1个细胞经N小时后总共有多少个细胞?要求C语言实...
1个细胞,每3个小时分裂一次,可分裂为四个细胞,四个细胞中有一个不再继续分裂,其他三个细胞在3个小时后继续分裂。问:刚开始1个细胞经N小时后总共有多少个细胞?要求C语言实现。
展开
展开全部
每次分裂得到的细胞数:前次细胞数+3的(分裂次数)次方,而3的n次方可以用累乘得到
1
1+3
1+12=1+3*1+3*3=1+3+9
1+3+9+9*3=1+3+9+27
1+3+9+27+27*3=1+3+9+27+81
...
#include<stdio.h>
void main()
{ int sum,i,n,m;
scanf("%d",&n);
for ( i=0,sum=0,m=1;i<n;i+=3 ) { sum+=m; m*=3; }
printf("%d小时后细胞数量为%d个\n",n,sum);
}
1
1+3
1+12=1+3*1+3*3=1+3+9
1+3+9+9*3=1+3+9+27
1+3+9+27+27*3=1+3+9+27+81
...
#include<stdio.h>
void main()
{ int sum,i,n,m;
scanf("%d",&n);
for ( i=0,sum=0,m=1;i<n;i+=3 ) { sum+=m; m*=3; }
printf("%d小时后细胞数量为%d个\n",n,sum);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询