文章

1

粉丝

113

获赞

6

访问

813

头像
十进制和二进制 题解:
P1176 清华大学上机题
发布于2024年6月28日 10:54
阅读数 813

visual studio上运行编译都可以,不知道为什么这里说不行……

#include<iostream>
#include<cstring>
#include<cmath>
#include<stdio.h>
using namespace std;

int main()
{
    int n;
    while (cin >> n)
    {
        int num = 0, sum = 0;
        int out[100];
        while (n > 0)
        {
            out[num] = n % 2;
            num++;
            n /= 2;
        }
        for (int i = 0; i < num; i++)
        {
            sum += pow(2, num - i - 1) * out[i];
        }
 ...

登录查看完整内容


登录后发布评论

1 条评论
snake VIP
2024年6月28日 12:42

编译器选择C++,结尾加上换行符,这个代码能过50%的数据

剩下50%就是题目要求输入的数是1000位的,远远超出了int的范围

所以不能用int来定义n,应该输入一串字符串来处理,大数模拟%2和/2的操作

赞(0)