问题标题: 酷町堂:6754   二进制的转换

0
0
已解决
熊智晖
熊智晖
高级天翼
高级天翼

6754   二进制的转换

经验值:1600 时间限制:1000毫秒

题目描述 Description

单链表的结点元素的数据域不是0就是1,链表给出的是一个整数的二进制形式,请你输出对应的十进制值。

输入描述 Input Description

共两行
第1行:n 表示链表节点个数
第2行:n个空格隔开的0或1

输出描述 Output Description

二进制对应的十进制值

样例输入 Sample Input

【样例输入1】 3 1 0 1 【样例输入2】 1 0 【样例输入3】 1 1 【样例输入4】 15 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 【样例输入5】 2 0 0

样例输出 Sample Output

【样例输出1】 5 【样例输出2】 0 【样例输出3】 1 【样例输出4】 18880 【样例输出5】 0

数据范围及提示 Data Size & Hint

链表不为空。
链表的结点总数不超过 30。
每个结点的值不是 0 就是 1。
【样例1说明】
image.png


进制数 (101) 转化为十进制数 (5)

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main(){
    int a,b[10002],sum=0;
    cin>>a;
    for(int i=1;i<=a;i++){
        cin>>b[i];
        sum+=b[i]*(pow(2,i-1));
    }
    cout<<sum;
    return 0;
}

30分???


0
已采纳
苏屹冉
苏屹冉
初级光能
初级光能

把pow(2,i-1)改成pow(2,n-i)

我已经做出来了

0
0
张程阳
张程阳
新手天翼
新手天翼

111111111111111111111111111111111111111111111

0
0
0
0
0
我要回答