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说明】
进制数 (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
0
0
0
0
0
0
0