玲珑杯 1056 - A plus B

来源:互联网 发布:linux vi命令使用 编辑:程序博客网 时间:2024/04/29 11:50

Two octal number integers a, b are given, and you need calculate the result a - b in octal notation.
If the result is negative, you should use the negative sign instead of complement notation.

INPUT
The first line is an integer T(1 <= T <= 1000), indicating the number of test cases.For each case, the first and only line contains two octal integers a, b.(0 <= a, b < 2^32)
OUTPUT
Print the result, one per line, in octal notation.
SAMPLE INPUT
176 7
SAMPLE OUTPUT

67 

题意:给你俩八进制的数,让你求他俩的差,注意如果a<b的情况,首先你要知道八进制的表示方法诗%o,然后你要知道的是,int 的最大范围是2^31-1,而unsigned int de shi 2^32-1

#include<iostream>

#include<cstdio>
using namespace std;
int main()
{
 int t;
  unsigned int a,b;
  cin>>t;
  while(t--)
  {
    scanf("%o%o",&a,&b);
    if(a<b)
    {
      swap(a,b);
      cout<<"-";
    }
    printf("%o\n",a-b);
  }
}

0 0