测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A67228. 下⾯ count_triple 函数的时间复杂度为( )。int gcd(int m , int n ) {

单选题

题目描述

下⾯ count_triple 函数的时间复杂度为(  )。

int  gcd(int  m ,  int  n )  {
    if  (m  ==  0 ) return  n ;
    return  gcd(n  %  m ,  m ) ; 
}
int  count_triple(int  n )  {
    int  cnt  =  0 ;
    for  (int  v  =  1;  v  *  v  *  4  <=  n ;  v++)
        for  (int  u  =  v  +  1;  u  *  (u  +  v )  *  2  <=  n ;  u  +=  2 ) 
            if  (gcd(u ,  v )  ==  1 )  {
                int  a  =  u  *  u  -  v  *  v;
                int  b  =  u  *  v  *  2;
                int  c  =  u  *  u  +  v  *  v;
                cnt  +=  n  /  (a  +  b  +  c ) ; 
            }
    return  cnt ; 
}

选项(单选)