R7-8 链表倒数n个结点的乘积

Author Avatar
小包
发表:2024-11-03 04:24:06
修改:2024-12-12 15:45:12

本题要求计算单链表倒数n个结点的乘积。例如,给出单链表1 2 3 4 5,则倒数2个结点的乘积为20。

输入格式:

输入有2行,第一个行为2个非负整数m和n。其中m为链表结点个数,n为链表倒数结点的数量。题目保证计算结果在int范围内。
第二行为链表的m个数,以空格分隔。

输出格式:

在一行中输出倒数n个结点的乘积。

输入样例:

5 2
1 2 3 4 5

输出样例:

20

样例解释:

20 = 4 * 5

#include <iostream>
#include <vector>

using namespace std;

int main() {
    int m, n;
    cin >> m >> n;
    vector<int> v(m);
    for (int i = 0; i < m; ++i) cin >> v[i];
    if (n == 0) {
        cout << 0 << endl;
        return 0;
    }
    int prod = 1;
    for (int i = m - n; i < m; ++i) prod *= v[i];
    cout << prod << endl;
    return 0;
}

评论