| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1825 人关注过本帖
标题:这怎么做啊,请大神们给我参考下
只看楼主 加入收藏
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:0 
回复 10楼 w4654646
是C语言,只是写了主要的代码部分,你要自己完善。pow(x,y)这个地方不懂吗?这个是数学函数,在math.h中,就是计算x的y次方
2016-06-21 16:47
w4654646
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2016-3-2
收藏
得分:0 
回复 11楼 wanglianyi1
pow(x,y)的使用是下面这样吗
int pow(intx,inty)
{
    int a;
    a==x^y;
    return a;
}
2016-06-21 17:00
w4654646
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2016-3-2
收藏
得分:0 
回复 12楼 w4654646
#include <stdio.h>
#include <math.h>
int pow(int x,int y)
{
    int a;
    a=x^y;
    return a;
}
int main()
{
    int loop,count,i,j;
    scanf("%d", &loop);
    count = 0;
    j = loop;
    for(i = 0; j > 0; i++)
    {
        j = j / 2;
        count++;
    }
    printf("%d\n", (int)(2 * (loop - (pow(2, count - 1))) + 1));
    return 0;
}
这个哪里错了?
2016-06-21 17:03
w4654646
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2016-3-2
收藏
得分:0 
没有人了吗?
2016-06-21 17:30
w4654646
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2016-3-2
收藏
得分:0 
以下是引用rjsp在2016-6-21 16:26:00的发言:

已经说了,这还需要优化
算法:将n的二进制形式去掉最高位,然后乘以二加1。就行了
例如 7,二进制是 111,去掉最高位就是 11,也就是十进制的3,然后乘以2加1结果就是 3*2+1=7
太简单了,代码自己写
这我不会,请大家告诉我怎么写
2016-06-21 17:32
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
pow这个函数是库函数,直接调用就行,不用实现。
2016-06-21 17:34
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
还有题目要输入多组数据,这个输入方法没写明白,你得自己考虑。
2016-06-21 17:35
w4654646
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2016-3-2
收藏
得分:0 
回复 17楼 grmmylbs
多谢
2016-06-21 17:41
快速回复:这怎么做啊,请大神们给我参考下
数据加载中...
 
   



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

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