文章

1

粉丝

0

获赞

0

访问

53

头像
十进制和二进制 题解:帮忙看看为什么通过率只有50%嘞
P1176 清华大学上机题
发布于2025年6月23日 20:00
阅读数 53

#include<stdio.h>
#include<string.h>

int main() {
	long long dec1;
	while (scanf("%ld", &dec1) != EOF) {
		long long dec2 = 0;
		int index = 0;
		char bin[1000] = {0};
		while (dec1 > 0) {
			bin[index++] = (dec1 % 2) + '0';
			dec1 /= 2;
		}
		for (int i = 0; i < index; i++) {
			if (bin[i] == '0') {
				dec2 *= 2;
			}
			else {
				dec2 = dec2 * 2 + 1;
			}
		}
		printf("%ld\n", dec2);
	}
	return 0;
}

 

登录查看完整内容


登录后发布评论

1 条评论
snake
2025年6月24日 16:15

题目要求一个1000位(即10^999)以内的十进制数。

longlong是存不下的,需要模拟大数

赞(0)