首页 > 解决方案 > 中奖号码中的递归函数

问题描述

我需要编写一个代码来检查参数 r 是否是赢家。


int is_winner(const float r){

}

标签: c++

解决方案


您可以尝试以下方法。

if (r <= max_winner && r => 0) {
  if (/* simple criterion */) { // i.e. whole game even
    return true;
  } else if ( /* recursive call */ ){ // recursion, i.e. r/2 is winner and r*r is winner
    return true;
  }
}

请注意,我假设(为简单起见)您的函数的输出应该是一个布尔变量,因为该函数被调用is_winner,我们只想检查它是真还是假。

尝试自己填写条件。请注意,有类似std::floor,的功能std::ceil。还要注意从floatdouble到的转换integer;例如检查的行为

float r   = 2.7189;
int r_int = r; 

推荐阅读