题目背景
在宇宙射线的轰击下,莲子电脑里的一些她自己预定义的函数被损坏了。
对于一名理科生来说,各种软件在学习和研究中是非常重要的。为了尽快恢复她电脑上的软件的正常使用,她需要尽快地重新编写这么一些函数。
题目描述
具体而言,给定两个整数 a,b,保证 b≠0。莲子要实现这样一个函数 fun(a,b) 来将 b 的符号转移到 a 上。
具体而言,fun(a,b)=sgn(b)×∣a∣。其中,sgn(b)={ 1 b>0
−1 b<0 }
换而言之:
- 如果 b 是正数,那么 fun(a,b)=+∣a∣=∣a∣;
- 如果 b 是负数,那么 fun(a,b)=−∣a∣。
输入格式
- 共一行两个整数 a,b。
输出格式
- 共一行一个整数 fun(a,b) 的值。
输入输出样例
输入 #1复制
-1 2
输出 #1复制
1
输入 #2复制
0 -4
输出 #2复制
0
输入 #3复制
-12345 -54321
输出 #3复制
-12345
说明/提示
对于全部数据,保证 a,b 在 32 位有符号整型范围内,并且 b≠0。
#include<bits/stdc++.h>
using namespace std;
int sgn(int n){
if(n>0) return 1;
if(n<0) return -1;
}
int main(){
long long a,b;//这里要用long long 考虑数据很大或者很小的情况
cin>>a>>b;
cout<<sgn(b)*abs(a);
return 0;
}