请问下这个算法的时间复杂度是多少呢?
- C/C++ code
#include<iostream>#include<vector>using namespace std;int appr(int x);//该函数用来计算一个整数的非“1”约数个数int main(){ int x; int i=1; cout<<"请输入一个数字52(或者其他数字):"<<endl; cin>>x; for(;i<=x;i++) if(appr(i)%2==0) cout<<i<<" "; return 0;}int appr(int x){ int i=2; int num=1;//1 表示每一个数字至少有一个约数,那就是他本身, if(x==1) return 0; //当这个数字是1的时候,那么就返回0 for(i=2;i<=x/2;i++) //一个数的约数除了本身,肯定会小于或者等于他的一半的 if(x%i==0) num++; return num; }求下计算过程。
[解决办法]
O(N2)
[解决办法]
N的二次方数量级,因为有两层循环。
[解决办法]
[解决办法]
0(N平方)
还能捡到分吗?