如何乘以向量整数

How do I multiply vector integers

所以基本上我想使用 for 循环将向量乘以 60 从秒到分钟和小时 3 次。我还想在该向量中再添加 3 个值,这些值应该存储一个比它之前的最后一个整数大 60 倍的值。

这就是我到目前为止的想法,但它只打印了 2 次,所以我做错了什么?

#include <iostream>
#include <vector>

int main() {
    std::vector <int> seconds = { 1 };

    for (int i = 0; i <= 3; i++) {
        i = seconds.at(i) * 60;
        seconds.push_back(i);
    }
    
    for (int i = 0; i < seconds.size(); i++) {
        std::cout << seconds[i] << std::endl;
    }

    return 0;
}

这个 for 循环正好迭代一次。

std::vector <int> seconds = { 1 };

for (int i = 0; i <= 3; i++) {
    i = seconds.at(i) * 60;
    seconds.push_back(i);
}

i设置为60,循环条件i <= 3则失败

使用不同的变量来保存这个值。

std::vector <int> seconds = { 1 };

for (int i = 0; i <= 3; i++) {
    auto x = seconds.at(i) * 60;
    seconds.push_back(x);
}

或者根本不使用变量。

std::vector <int> seconds = { 1 };

for (int i = 0; i <= 3; i++) {
    seconds.push_back( seconds.at(i) * 60 );
}