文章

3

粉丝

220

获赞

6

访问

29.4k

头像
主要是对负数的取余,计算机和我们要求的不一样,要人为改值
P1097
发布于2021年3月2日 17:04
阅读数 11.2k

//本题难点主要在处理对负二的取余上,如果负数除以-2,取余会得-1
//解决方法是比如(-3)/(-2)计算机得1.......-1,我们认为的将其变为2......1
//将余数变为正1


#include<stdio.h>
#include<string.h>
int main()
{
    int n;
    int fuer[105];
    while(scanf("%d",&n)!=EOF )
    {
        if(n==0)
            printf("0");
        int k=0,temp=0;//负二进制数组的下标
        while(n!=0)
        {
            temp=n%(-2);
            n/=(-2);
            if(temp==-1)
            {
                temp=1;
                n++;
            }
            fuer[k++]=temp;
        }
...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发