TB椰程 TypeBuddy 打字搭子

【例30.2】回家作业

C++语法 · 循环结构 · 代码 · cpp · 难度 3/5 · 共 685 字

判断等差或等比数列并补出第五项

  • C++语法
  • 例题

正文

// 原题:https://oj.yecheng.tv/p/P181
// 题意:已知数列前四项(等差或等比),
//       输出前五项。
// 思路:先用前两项判断公差或公比,
//       第五项 = 第四项 + 公差 或 × 公比。
#include <iostream>
using namespace std;

int main() {
    int t;
    cin >> t;
    while (t--) {
        long long a1, a2, a3, a4;
        cin >> a1 >> a2 >> a3 >> a4;
        if (a2 - a1 == a3 - a2) {
            // 等差数列,第五项加上公差
            cout << a1 << " " << a2 << " " << a3 << " " << a4
                 << " " << a4 + (a2 - a1) << endl;
        } else {
            // 等比数列,第五项乘公比
            long long q = a2 / a1;
            cout << a1 << " " << a2 << " " << a3 << " " << a4
                 << " " << a4 * q << endl;
        }
    }
    return 0;
}

C++语法 · 循环结构的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK