C++ 打印向量数组中的所有元素 int n=1000000; 向量除数[1000001]; void solve() { 对于(inti=1;i
你需要像这样遍历向量的大小C++ 打印向量数组中的所有元素 int n=1000000; 向量除数[1000001]; void solve() { 对于(inti=1;i,c++,vector,cp,C++,Vector,Cp,你需要像这样遍历向量的大小 int n=1000000; vector <int> divisors[1000001]; void solve() { for(int i=1; i<=n; i++) for(int j=i; j<=n; j+=i) divisors[j].push_back(i); } for(int i=0;i
int n=1000000;
vector <int> divisors[1000001];
void solve()
{
for(int i=1; i<=n; i++)
for(int j=i; j<=n; j+=i)
divisors[j].push_back(i);
}
for(int i=0;i Cuth需要两个循环来先迭代向量数组,然后通过每个向量迭代。C++在过去几年中有了很大的改进,所以现在有简单的方法来做:
for(int i = 0; i < vector_name.size(); i++){
cout << vector_name.at(i) << " ";
}
#包括
#包括
constexpr int n=1000000;
向量除数[n+1];
void solve()
{
对于(inti=1;i它也起作用
#include <vector>
#include <iostream>
constexpr int n=1000000;
std::vector<int> divisors[n+1];
void solve()
{
for(int i=1; i<=n; i++)
for(int j=i; j<=n; j+=i)
divisors[j].push_back(i);
}
int main()
{
solve();
for (auto &i : divisors)
for (auto j : i)
std::cout << "array index:" << &i - &divisors[0] << " Entry " << j << std::endl;
}
vector::迭代器;
for(int i=1;iAnotherfor
loop,(或两个)
vector
不是一个对象。您应该提供一个使用OP示例名称的答案。理想情况下,答案是遍历向量数组,然后遍历每个向量的元素,其中许多元素将为空。
vector<int>::iterator it;
for (int i=1; i<=1000000; i++)
{
for(it=divisors[i].begin();it!=divisors[i].end(); it++)cout<<*it<<" "; cout<<endl;}