文章
4
粉丝
422
获赞
14
访问
45.1k
我采用的是每转换出一位二进制数,就把他转换为二进制逆序数。我把AC的答案下下来在Dev c++上对比了一些数没有问题,但提交就报wrong answer。帮忙看一下有什么问题吗?
#include<bits/stdc++.h>
using namespace std;
int mul (char *s, int l, int two){//转换为二进制逆序数
int num =0, temp = 0;
num = (s[0] - '0') * 2 + two;
// printf("a[0]:%d,num:%d\n", s[0] - '0', num);
temp = num / 10;
// printf("temp%d: %d\n", 0, temp);
s[0] = '0' + (num % 10);
// printf("s[0]:%c\n", s[0]);
for(int i = 1; i < l; ++i){
num = temp + ((s[i] - '0') * 2);
// printf("a[%d]:%d,num:%d\n", i, s[i] - '0', num);
temp = num / 10;
// printf("temp%d: %d\n", i, temp);
s[i] = '0' + (num % 10);
// printf("s[%d]:%c\n", i, s[i]);
}
if (temp != 0){
s[l++] = '0' + temp;
// printf("s[%d]:%c\n", l - 1, s[l - 1]);
}
// printf("\n\n");
return l;
}
int div (char *s, int l, int begin){//输入数除以二
int count_zero = 0, num = 0, temp = 0;
for(int i = begin; i < l; ++i){
num = temp + (s[i] - '0');
temp = num % 2 * 10;
s[i] = '0' + (num /...
登录后发布评论
暂无评论,来抢沙发