标题:请教一下我这个编程哪里错了
只看楼主
断了的弦lcx
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-5-8
结帖率:0
 问题点数:0 回复次数:7 
请教一下我这个编程哪里错了
有一个8层灯塔,每层的灯数都是上一层的2倍,共有765盏灯。编程求最上层的灯数。

#include<stdio.h>
int main(void)
{
    int n,sum=0,i;
    for(i=0;i<=7;i++)
    {
        sum=sum+(2^i)*n;
    }
    if(sum==765)
        printf("%d",n);
}
搜索更多相关主题的帖子: 编程 int sum for i++ 
2018-05-08 19:36
童生
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:205
专家分:455
注 册:2018-3-7
得分:0 
断了弦了
2018-05-08 19:39
wjt54220
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-11-12
得分:0 
程序代码:
#include<stdio.h>
#include<math.h>
int main(void)
{
    int n,sum=0,i;
    for(n=1; ;n++)
    {
        for(i=0;i<8;i++)
            sum=sum+n*pow(2,i);
    //    printf("%d\n",sum);
        if(sum==765)
        break;

    }
    printf("%d\n",n);
    
    return 0;
}



2018-05-08 21:16
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
程序代码:
#include <stdio.h>
int calc(int i)
{
    int j;
    int sum = 0;
    for(j = 0; j < 8; j ++)
        sum+=i, i*=2;
    return sum;
}
int main()
{
    int i =1;
    int r;
    while(1)
    {
        r = calc(i);
        if(r >= 765) break;
        i ++;
    }
    if(r == 765) printf("result = %d\n", i);
    else printf("no such result\n");
    return 0;
}

最上层是3个。
2018-05-08 21:45
nosnoy
Rank: 9Rank: 9Rank: 9
来 自:mcu
等 级:贵宾
威 望:14
帖 子:540
专家分:1158
注 册:2016-9-17
得分:0 
765/(2^8-1)=3 不需要编程吧

穷举是最暴力的美学
2018-05-08 22:24
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
这是编程题,不是数学题,是用编程的方式来解决问题的。
2018-05-08 22:26
Pine_
Rank: 1
等 级:新手上路
威 望:1
帖 子:4
专家分:6
注 册:2018-5-9
得分:0 
回复 3楼 wjt54220
为什么你这个打印出来的是2呢 是不是编译器的问题?
2018-05-09 15:19
康明贤
Rank: 2
来 自:NWPU
等 级:论坛游民
帖 子:46
专家分:32
注 册:2017-10-23
得分:0 
2的i次方应该用函数pow(2,i)

千里之行,始于足下。
2018-05-10 16:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-486770-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.545453 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved