题目
描述
输入两个正整数a和b,输出这两个正整数的和,差,积,商,模(若a>b则输出a-b,a/b,a%b的值反之输出b-a,b/a,b%a的值,不考虑小数,请使用int类型)
输入描述:
两个正整数
输出描述:
它们的和,差,积,商,模。每个值之间用空格隔开
示例1
输入:
10 5
输出:
15 5 50 2 0
代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
scanner.close();
//write your code here......
//方法1:第三变量交换数值
if( a < b ){
int temp = b;
a = b;
b = a;
}
//方法2:基础运算交换数值
if( a < b ){
a = a + b;
b = a - b;
a = a - b;
}
//方法3:利用异或交换两个数字
if( a < b ){
b = a ^ b;
a = b ^ a;
b = a ^ b;
}
System.out.println( (a+b) + " " + (a-b) + " " + (a*b) + " " + (a/b) + " " + (a%b));
}
}
异或运算如何交换变量值
异或:二进制运算,相异为 1
10的二进制为: 1 0 1 0
5 的二进制为: 0 1 0 1
a = 10 b = 5
b = a ^ b = 1 1 1 1
a = a ^ b = 0 1 0 1 = 5
b = a ^ b = 1 0 1 0 = 10
实现变量转换