zoukankan      html  css  js  c++  java
  • 2016-2017学年第三次测试赛 习题E 林喵喵算术

    时间限制: 1 Sec  内存限制: 128 MB

    提交: 70  解决: 25

    提交统计讨论版

    题目描述

    给你两个八进制数,你需要在八进制计数法的情况下计算a-b。

    如果结果为负数,你应该使用负号代替补码。

    输入

    输入的第一个数字为T,表式测试的样例的组数(1 <= T <= 1000)。

    每组数据包括两个八进制数a,b.

    输出

    输出计算结果,同样八进制表示。如果结果为负数,你应该使用负号代替补码。

    样例输入

    2

    176 7

    4 14

    样例输出

    167

    -10

    思路:水题,很简单,就是C++简单的八进制的读入和输出,参考杭电的1720题目http://www.cnblogs.com/William-xh/p/6798518.html

    将十六进制转换为十进特例:
    AB转换为dec;
    0xAB
    = 0x0A * 16 + 0x0B
    = 10 * 16 + 11
    = 171
     
    c 输入十六进制和八进制方法:
    scanf(“%x %x”,&a,&b);
    scanf(“%o %o”,&a,&b);
     
    c++ 方法:
    cin>>hex>>a>>b;
    cin>>oct>>a>>b;
     
    然后是负数的话就先判断大小,然后再大减小的再来个"-"号;完美AC
    然后附上代码:
    #include <iostream>
    #include<math.h>
    #include <iomanip>
    #include<cstdio>
    #include<string>
    #include<map>
    #include<vector>
    #include<list>
    #include<algorithm>
    #include<stdlib.h>
    #include<iterator>
    #include<sstream>
    #include<string.h>
    #include<stdio.h>
    using namespace std;
    
    int main()
    {
    
        int n;
        cin>>n;
        int a,b;
        while(n--)
        {
            cin>>oct>>a>>b;
            if(a<b)
            {
                cout<<"-"<<oct<<b-a<<endl;
            }
            else
            {
                cout<<oct<<a-b<<endl;
            }
    
        }
        return 0;
    }
    很顺利的一题
  • 相关阅读:
    Sql Server 跨服务器连接
    ASCII码与16进制的互相转换(表)
    c#多线程 Invoke方法的使用
    登陆时验证码的制作(asp.net)
    jQ&js给label
    IT行业的一些专业术语
    html div 加边框样式
    分布式技术 memcached
    分布式技术 webservice
    MVC 绑定 下拉框数据
  • 原文地址:https://www.cnblogs.com/William-xh/p/7144099.html
Copyright © 2011-2022 走看看