您现在的位置是:首页 >

灯塔解析 c语言有一个8层灯塔,每层所点灯数为上一层两倍,共有765盏灯,求塔底灯数 (运用函数实现如递归函数)

火烧 2021-11-06 07:17:21 1151
c语言有一个8层灯塔,每层所点灯数为上一层两倍,共有765盏灯,求塔底灯数 (运用函数实现如递归函数) c语言有一个8层灯塔,每层所点灯数为上一层两倍,共有765盏灯,求塔底灯数 (运用函数实现如递归

c语言有一个8层灯塔,每层所点灯数为上一层两倍,共有765盏灯,求塔底灯数 (运用函数实现如递归函数)  

c语言有一个8层灯塔,每层所点灯数为上一层两倍,共有765盏灯,求塔底灯数 (运用函数实现如递归函数)

#include "stdio.h"
#include "string.h"
int d[8];
bool lamp(int m,int x,int s)
{
d[m-1]=x;
if(m==1)
{
s+=x;
if(s==765)
{
return true;
}
else
{
return false;
}
}
else
{
return lamp(m-1,2*x,s+x);
}
}
int main()
{
int x;
for(x=1;x<765;x++)
{
if(lamp(8,x,0))
{
printf("%dn",x);
for(int i=0;i<8;i++)
printf("%d ",d[i]);
return 0;
}
}
}

有一个8层灯塔,每层所点灯数都等于该层上一层的两倍,一共有765盏灯,求塔底的灯数。

设第一层有x盏灯,根据等比数列求和公式,求出x = 3;然后的最后一层为3*2^7 = 384

灯塔解析 c语言有一个8层灯塔,每层所点灯数为上一层两倍,共有765盏灯,求塔底灯数 (运用函数实现如递归函数)

C++:有一个8层灯塔,每层所点灯数都等于该层上一层的两倍,一共有765盏灯,求塔底的灯数

Note:Your choice is C++ IDE
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
第一,穷举法
int i,j;
int n,s;
for(i=0;i<765;i++)穷举的范围可以进一步缩小,交给你了哦
{
s=0;
n=i;塔底盘子数
for(j=0;j<8;j++)
{
s=s+n;计算盘子总数
n=n/2;

}
if(s==765) {cout<<"方法一:第八层盘子数为:"<<i<<endl;break;}
}
第二,数学方法
设第八层为x个盘子,那么总的盘子数为:
x+x/2+x/4+x/8+....+x/(2的n-1次方)(n为层数)
解方程即可
double m=0;
for(j=0;j<8;j++)
{
m=m+1/pow(2,j);计算X的系数的值
}
cout<<"方法二:第八层盘子数为:"<<(765.0/m)<<endl;
return 0;
}

有一个8层灯塔,每层所点灯数都等于该层上一层的两倍,一共有765盏灯,求塔底的灯 C++程序

LZ的意思是8层共765盏把?
思路与一楼差不多,设第一层有a盏,那第二层就有2a盏,以此类推;
a+2a+4a+8a+16a+32a+64a+128a=(2*128-1)a=255a;
所以a=3;
程序如下:
#include <iostream>
using namespace std;
int main()
{
int a;
a=765.0/255;
cout<<"最底层有"<<128*a<<"盏灯。"<<endl;
return 0;
}

有一个8层灯塔,每层所点灯数都等于该层上一层的两倍,一共有765盏灯,求塔底的灯

设第1层有X盏灯第2层有2X盏灯第3层有4X盏灯第4层有8X盏灯第5层有16X盏灯第6层有32X盏灯第7层有64X盏灯. 第8层有128X盏灯
列方程:X+2X+4X+8X+16X+32X+64X+128X=765
解得X=3

有一个八层灯塔,每层所点的灯数都等于该层上一层的两倍,一共有765盏灯,编程求塔底的灯数。在线等

最下层灯数为 384
#include<stdio.h>
int main()
{
int ceng;层数
int t,deng,all;deng灯数
for(deng=1;;deng++)
{
all=0;
t=deng;直接将deng代入下面循环的话外层第二次循环时deng不为2
for(ceng=1;ceng<=8;ceng++)
{
all=all+t;
t*=2;
}
if (all==765){printf("%dn",t/2);return 0;}
}
return 0;
}

有一个8层的灯塔,每层的灯数都是上一层的2倍,共有765盏灯,编程求最

public class Demo83 {
public static void main(String[] args) {
int a = 1;
int b = 0;
int sum = 0;
int c = 0;
while(true){
sum = 0;
b = a;
sum = a+a*2+a*2*2+a*2*2*2+a*2*2*2*2+a*2*2*2*2*2+a*2*2*2*2*2*2+a*2*2*2*2*2*2*2;
for(int i = 0;i<8;i++){
sum += a;
c = a;
a = a*2;
}
if(sum == 765){
break;
}
a = b;
a++;
}
System.out.println("总和:"+sum);
System.out.println("最高层:"+b);
System.out.println("最低层:"+c);
}
}
结果:
总和:765
最高层:3
最低层:384
请采纳,嘿嘿。

C语言 求有一八层灯塔,每层的灯数都是上一层的一倍,共有765盏灯,求最上层与最下层的灯数。

#include "stdio.h"
int main(int argc, char* argv[])
{
int n=1,x=1,i;
for(i=2;i<=8;i++)
x+=n*=2;
printf("Tower1:%4dtTower8:%4dn",765/x,765/x*n);
return 0;
}
不要把问题放在这里就不管了。
我不在乎分,但是要一个结果。

一个灯塔有8层,共有765盏灯,其中每一层的灯数都是其相邻上层的两倍,求最底层的灯数。c语言问题

384,用算术当然简单,关键是这个过程。。
main()
{
int i;
float a=1.0,s=0;
for(i=0;i<8;i++)
{
s=s+1.0/a;
a=2*a;
}
a=765.0/s;
printf("%.0f",a);
}

有一座七层灯塔,每层所点灯的盏数都是上面一层的2倍,一共点381盏灯,求底层所点

解:设第七层x盏。
x+2x+4x+8x+16x+32x+64x=381
x=3
3*64=192盏
答:有192盏。

  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码