求助!这道题怎么编
有一个八层灯塔,每层所点灯数都等于上一层的两倍,一共有765盏灯,求塔底灯数?
不知道
不知道你想用什么方法做,做这样的题方法很多。不过建议用递归调用。

程序代码:/*
此程序有些简陋,算法也不高明,希望诸位多给批评,谢谢。
*/
#include<stdio.h>
int deng(int n)
{
int i=1; /*设第一层灯数为1*/
while(1)
{
if((i+2*i+4*i+8*i+16*i+32*i+64*i+128*i)==n)
break; /*如果满足每一层是上层的2倍,且总数为765的条件
就跳出循环*/
++i;
}
return i; /*返回i值*/
}
int main(void)
{
int n=765; /*设塔灯总数为765*/
n=deng(n); /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~先把n值传递给函数形参,?
再用它来接收函数返回值*/
printf("第八层的灯数为:%d\n",128*n); /*把函数返回的值(也就是第一层塔灯
个数)乘以128(第八层是第一层的
128倍),就是第八层的塔灯个数*/
getch();
}

