c++ - 中奖号码中的递归函数
问题描述
我需要编写一个代码来检查参数 r 是否是赢家。
int is_winner(const float r){
}
解决方案
您可以尝试以下方法。
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
。还要注意从float
或double
到的转换integer
;例如检查的行为
float r = 2.7189;
int r_int = r;
推荐阅读
- sql - 无论如何返回 else 的结果的情况
- scala - 如何在 Spark 上使用 scalapb 启动服务器/客户端 grpc?
- error-handling - 调试模式为假时如何在强错误处理程序中设置自定义错误
- ios - 基于 Firebase 数据库的 ios 应用程序 - 在本地合并更改
- mysql - 如何跨表减去并仅使用 SQL 连接差异最小的行?
- android - 如何迭代 Single
- >,然后根据条件执行任务?
- maven - 尝试运行 Maven 项目时未执行 Selenium WebDriver / Cucumber 测试
- javascript - 对于 Javascript 中的 2d 数组,map + reduce 不能按预期工作
- eclipse - ABAP Eclipse Oxygen:使用的查询不起作用的地方
- unix - FreeBSD 上类似 unshare (Linux) 的系统调用