#include<cstdio>
#include<iostream>
#include<vector>
using namespace std;
int sum(int m)
{
int sum=0;
for(int i=1;i<=m/2;i++)
{
if(m%i==0)
{
sum=sum+i;
}
}
return sum;
}
int main() {
int m;
int count;
vector<int> wanshu;
vector<int> yingshu;
vector<int> shu;
for(m=2;m<=60;m++){
count=sum(m);
if(count>m)
{
yingshu.push_back(m);
}
else if(count==m)
{
wanshu.push_back(m);
}
else
{
shu.push_back(m);
}
}
printf("E: ");
for(auto x:wanshu)
{
printf("%d ",x);
}
printf("G: 2 ");
for(int i = 0; i < yingshu.size() - 1; i++){
printf("%d ", yingshu[i]);
}
printf("%d", yingshu[yingshu.size() - 1]);
}
提示一下自己:有时候很多双重循环里的东西,你只需要放个函数在前面,感觉就可以减少很多错误了,我这个最开始就是套的双层循环,但是不明白为什么不对,我需要在运行一下。
再就是,这个答案里,2是不对的
还有就是。关于vector的使用,其实就是相当于一个变长数组,你得理解它的那个概念


京公网安备 11010502036488号