题目的主要信息:

  • 输入两个正整数aabb,输出这两个正整数的和,差,积,商,模
  • a>ba>b则输出aba-ba/ba/ba%ba\%b的值反之输出bab-ab/ab/ab%ab\%a的值,不考虑小数

具体做法:

直接在输出时计算和、积即可。对于差、商、模需要较大的数在前,我们可以比较大小后,如果aa较小用swap函数交换二者的值,于是每次计算都是a>ba>b,后续的可以直接计算。

alt

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    int a, b;
    cin >> a >> b;
    if(a < b) //交换,使a比b大
        swap(a, b);
    //输出时计算
    cout << a + b << " " << a - b << " " << a * b << " " << a / b << " "<< a % b << endl;
	return 0;
}

复杂度分析:

  • 时间复杂度:O(1)O(1),直接计算
  • 空间复杂度:O(1)O(1),无额外空间使用