【发布时间】:2013-10-08 20:21:10
【问题描述】:
我有这段代码,想知道它的时间复杂度:
int N,M; // let N and M be any two numbers
while(N != M && N > 0 && M > 0){
if(N > M)N -= M;
else M -= N;
}
我不知道如何分析,因为 M 和 N 的值以不寻常的方式减少。有没有标准的方法来解决这个问题?
【问题讨论】:
-
如果 N==1 和 M==0 你会得到一个无限循环。
-
对不起,我更正了
标签: c++ algorithm complexity-theory big-o time-complexity