#为什么样例都通过了还是不能拿满分呢?
题目
二进制转十进制【C/C++/Java/Python】
描述
给定一个正的二进制数,将其转换为十进制数输出。
例如二进制数:110100101,转成十进制数是:421
例如二进制数:110110110,转成十进制数是:438
格式
输入格式
一个正的二进制数,其长度不超过31位
输出格式
对应的十进制正整数
样例
输入样例
101011010
输出样例
346
限制
时间限制:100 ms
内存限制:20480 KB
补充样例:
测试点 1
输入
10
输出
2
测试点 2
输入
1100
输出
12
测试点 3
输入
101010
输出
42
测试点 4
输入
110110111
输出
439
测试点 5
输入
110011000011
输出
3267
我的代码
#include <stdio.h>
#include <math.h>
int main()
{
long long n;
scanf("%lld",&n);
int b,x=0,i=0;
while(n!=0)
{
int m=1;
b=n%10;
n/=10;
if(b==1)
{
x+=pow(2,i);
}
++i;
}
printf("%d",x);
return 0;
}