A.不需要分类讨论,提供一个很简单的思路,题目很明显的看出每过2047为一个周期,那么只需要将当前的数加上1024这样就可以令周期从-1024-1023变为0-2047 这样只需要将x+1024取余2048最后输出x-1024就可以了

ACcode:

#include<bits/stdc++.h>
using namespace std;
int n;

int main()
{
    cin>>n;
    while(n--)
    {
        int x;
        cin>>x;
        x+=1024;
        x%=2048;
        cout<<x-1024<<" ";
    }
	return 0;
}