向量
定义一个向量的几种方法:
vector<int> myVector1; //空向量
vector<int> myVector2(arr,arr+5);//复制一个数组内的元素
vector<int> myVector3(5,2);//2,2,2,2,2
vector<int> myVector4(myVector2);//1,2,3,4,5 复制向量
vector<int> myVector5(myVector4.begin(),myVector4.begin() + 3);//1,2,3
向量的几种操作:
vector<int> Vector1(arr,arr+5); //1,2,3,4,5
int n = Vector1.size(); // n = 5
Vector1.pop_back(); //1,2,3,4在尾部删除元素
Vector1.push_back(6); //1,2,3,4,6在尾部添加元素
Vector1.insert(Vector1.begin() + 1,9); //1,9,2,3,4,6在某位置位置插入一个元素
Vector1.insert(Vector1.begin(),3,7); //7,7,7,1,9,2,3,4,6在某位置插入n个相同元素
Vector1.insert(Vector1.begin(),arr,arr+2); //1,2,7,7,7,1,9,2,3,4,6在某位置插入数组的某一段
Vector1.erase(Vector1.begin() + 6); //1,2,7,7,7,1,2,3,4,6在某位置删除元素
Vector1.erase(Vector1.begin() + 1,Vector1.begin() + 3);//1,2,7,7,7,1,2,3,4,6
//删除某一段位置元素(不包括终点元素)
Vector1.clear();//清空
// 完数与盈数
int arr[60];
vector<int> number1,number2;
for(int i = 0;i < 59;i++){
arr[i] = i + 2;
}
for(int i = 0;i < 59;i++){
vector<int> num;
int sum = 0;
for(int j = 1;j < arr[i];j++){
if(arr[i] % j == 0 && j == 1){
num.push_back(j);
}else if(arr[i] % j == 0){
num.push_back(j);
}
}
for(int o = 0;o < num.size();o++){
sum += num[o];
}
if(sum > arr[i]){
number2.push_back(arr[i]);
}else if(sum == arr[i]){
number1.push_back(arr[i]);
}
}
cout << "E: " << number1[0];
for(int i = 1;i < number1.size();i++){
cout << " " << number1[i];
}
cout << endl;
cout << "G: "<<number2[0];
for(int i = 1;i < number2.size();i++){
cout << " " << number2[i];
}