博客
关于我
牛客历年机试真题--skew数(入门级)
阅读量:342 次
发布时间:2019-03-04

本文共 888 字,大约阅读时间需要 2 分钟。

要将给定的skew数转换为十进制形式,可以按照以下步骤进行:

  • 理解skew数表示方式:每一位的值乘以(2^(k+1)-1),其中k为该位的位置(从0开始)。

  • 处理输入字符串:从左到右处理每一位,计算对应的系数。

  • 计算每一位的贡献:遍历字符串,每一位乘以对应的系数并累加到总和中。

  • 以下是实现代码:

    #include 
    #include
    #include
    int main() { char x[100]; while (scanf("%s", x) != EOF) { int len = strlen(x); int sum = 0; for (int i = 0; i < len; ++i) { int k = len - i - 1; // 位位置k从0开始 int power = 1 << k; // 计算2^k int value = (power - 1) * (x[i] - '0'); sum += value; } printf("%d\n", sum); } return 0;}

    代码解释

    • 输入处理:使用scanf读取输入字符串,直到遇到EOF。
    • 遍历每一位:从左到右处理每一位,计算其对应的位数k。
    • 计算系数power = 1 << k计算2^k,(power - 1)得到(2^k - 1)。
    • 累加贡献:将当前位的值与其系数相乘,加到总和sum中。
    • 输出结果:打印转换后的十进制数。

    示例测试

    输入:101202000000000000000000000000000001010000000000000000000000000000001110011111000001110000101101102000

    输出:44214748364632147483647471041110737

    转载地址:http://grpe.baihongyu.com/

    你可能感兴趣的文章
    Objective-C——判断对象等同性
    查看>>
    Objective-C之成魔之路【7-类、对象和方法】
    查看>>
    Objective-C享元模式(Flyweight)
    查看>>
    Objective-C以递归的方式实现二叉搜索树算法(附完整源码)
    查看>>
    Objective-C内存管理教程和原理剖析(三)
    查看>>
    Objective-C实现 Greedy Best First Search最佳优先搜索算法(附完整源码)
    查看>>
    Objective-C实现 jugglerSequence杂耍者序列算法 (附完整源码)
    查看>>
    Objective-C实现1000 位斐波那契数算法(附完整源码)
    查看>>
    Objective-C实现2 个数字之间的算术几何平均值算法(附完整源码)
    查看>>
    Objective-C实现2d 表面渲染 3d 点算法(附完整源码)
    查看>>
    Objective-C实现2D变换算法(附完整源码)
    查看>>
    Objective-C实现3n+1猜想(附完整源码)
    查看>>
    Objective-C实现3n+1猜想(附完整源码)
    查看>>
    Objective-C实现9x9乘法表算法(附完整源码)
    查看>>
    Objective-C实现9×9二维数组数独算法(附完整源码)
    查看>>
    Objective-C实现A*(A-Star)算法(附完整源码)
    查看>>
    Objective-C实现A-Star算法(附完整源码)
    查看>>
    Objective-C实现abbreviation缩写算法(附完整源码)
    查看>>
    Objective-C实现ABC人工蜂群算法(附完整源码)
    查看>>
    Objective-C实现activity selection活动选择问题算法(附完整源码)
    查看>>