A-莲子的软件工程学

[传智杯 #5 初赛] A-莲子的软件工程学

题目背景

在宇宙射线的轰击下,莲子电脑里的一些她自己预定义的函数被损坏了。

对于一名理科生来说,各种软件在学习和研究中是非常重要的。为了尽快恢复她电脑上的软件的正常使用,她需要尽快地重新编写这么一些函数。

题目描述

具体而言,给定两个整数 a , b a,b a,b,保证 b ≠ 0 b\neq 0 b=0。莲子要实现这样一个函数 fun ⁡ ( a , b ) \operatorname{fun}(a,b) fun(a,b) 来将 b b b 的符号转移到 a a a 上。

具体而言, fun ⁡ ( a , b ) = sgn ⁡ ( b ) × ∣ a ∣ \operatorname{fun}(a,b)=\operatorname{sgn}(b)\times |a| fun(a,b)=sgn(b)×a。其中, sgn ⁡ ( b ) = { 1 b > 0 − 1 b < 0 \operatorname{sgn}(b)=\begin{cases}1&b>0\\-1&b<0\end{cases} sgn(b)={11b>0b<0

换而言之:

  • 如果 b b b 是正数,那么 fun ⁡ ( a , b ) = + ∣ a ∣ = ∣ a ∣ \operatorname{fun}(a,b)=+|a|=|a| fun(a,b)=+a=a
  • 如果 b b b 是负数,那么 fun ⁡ ( a , b ) = − ∣ a ∣ \operatorname{fun}(a,b)=-|a| fun(a,b)=a

输入格式

  • 共一行两个整数 a , b a,b a,b

输出格式

  • 共一行一个整数 fun ⁡ ( a , b ) \operatorname{fun}(a,b) fun(a,b) 的值。

样例 #1

样例输入 #1

-1 2

样例输出 #1

1

样例 #2

样例输入 #2

0 -4

样例输出 #2

0

样例 #3

样例输入 #3

-12345 -54321

样例输出 #3

-12345

提示说明

对于全部数据,保证 a , b a,b a,b 32 32 32 位有符号整型范围内,并且 b ≠ 0 b \neq 0 b=0

代码内容

// #include <iostream>
// #include <algorithm>
// #include <cstring>
// #include <stack>//栈
// #include <deque>//队列
// #include <queue>//堆/优先队列
// #include <map>//映射
// #include <unordered_map>//哈希表
// #include <vector>//容器,存数组的数,表数组的长度
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

int main()
{
    ll a,b;
    cin>>a>>b;

    if(b>0) cout<<abs(a)<<endl;
    else
    {
        if(!a) cout<<0<<endl;
        else cout<<"-"<<abs(a)<<endl;
    }
    
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pretty Boy Fox

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值