lint 9.不使用if的fizzbuzz

如何不用if去做fizzbuzz这一题

思路:使得这个数与3,5运算得到的结果a, b,通过不同的运算分别得到0,1,2,3这四个数,然后以这个结果为下标,去输出四种不同的结果。

对于下面的式子

a = c e i l ( ( f l o a t ) ( i % 3 ) / 5 ) a = ceil((float)(i\%3)/5) a=ceil((float)(i%3)/5)

i i i=4带入后运算得到 a = 1 a=1 a=1,取 i i i=21运算得到 a = 0 a=0 a=0,即结果输出为0代表 i i i是3的倍数,为1代表 i i i不是3的倍数。

对于下面的式子

b = c e i l ( ( f l o a t ) ( i % 5 ) / 5 ) b = ceil((float)(i\%5)/5) b=ceil((float)(i%5)/5) 是将上式里的 i % 3 i\%3 i%3改成 i % 5 i\%5 i%5,那么同样可以通过运算得出结论,

如果 i i i是5的倍数则得到 b = 0 b=0 b=0,否则得到 b = 1 b=1 b=1

这样对于一个数 i , a + b i,a+b ia+b得出的值有三种可能,0,1,2

0 代表 既能被3整除,又能被5整除
1 代表 能被3整除或者能被5整除
2 代表 都不能

到这一步我们大概的任务就完成了,下面就是区分为结果为1的两种情况了

这个容易,直接在上面两个的公式的任意一个前面加上一个系数就行了,如下

b = 2 ∗ c e i l ( ( f l o a t ) ( i % 5 ) / 5 ) b = 2*ceil((float)(i\%5)/5) b=2ceil((float)(i%5)/5)

这样的话,就有如下结论

0 代表 既能被3整除,又能被5整除  fizzbuzz
1 代表 只能被5整除   buzz
2 代表 只能被3整除   fizz
3 代表 都不能   

代码如下

class Solution {
public:
    /**
     * @param n: An integer
     * @return: A list of strings.
     */
    vector<string> fizzBuzz(int n) {
        vector<string> res_judge(4);
        res_judge[0] = "fizz buzz";
        res_judge[1] = "buzz";
        res_judge[2] = "fizz";
        res_judge[3] = "";
        vector<string> res(n);
        for(int j=0;j<n;j++){
            int i = j+1;
            res_judge[3] = to_string(i);
            int dive3 = ceil((float)(i%3)/5)*1;
            int dive5 = ceil((float)(i%5)/5)*2;
            int count_div = dive3+dive5;
            res[j] = res_judge[count_div];
        }
        return res;
    }
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: org.sonarlint.eclipse.site-3.6是SonarLint插件的一个版本,该插件提供了在Eclipse集成开发环境中使用SonarLint工具进行代码分析和质量管理的功能。SonarLint是一个开源的静态代码分析工具,可帮助开发人员在开发过程中发现代码中的潜在问题,提高代码质量和可维护性。 在Eclipse集成开发环境中使用SonarLint工具可以帮助开发人员及时发现代码中的问题,包括潜在的缺陷、代码重复、安全漏洞等。同时,该工具还可以在代码编写时提供实时反馈,指出代码中存在的问题,帮助开发人员及时调整和优化代码,并可以与SonarQube进行集成,从而实现代码质量的全面管理。 在使用org.sonarlint.eclipse.site-3.6插件时,需要先安装Eclipse集成开发环境和Java运行时环境。然后,通过Eclipse插件市场或手动安装方式将插件添加到Eclipse中,并在工作区中启用SonarLint功能。接下来,可以配置SonarLint连接到SonarQube服务器,并选择要分析的项目、规则和规则集等。最后,可以开始使用SonarLint工具进行代码质量分析和管理。 总之,org.sonarlint.eclipse.site-3.6插件是SonarLint工具在Eclipse集成开发环境中的一个版本,提供了方便、高效的代码分析和质量管理功能,帮助开发人员提高代码质量和可维护性。 ### 回答2: org.sonarlint.eclipse.site-3.6是指SonarLint Eclipse插件的版本号为3.6的安装包。SonarLint是由SonarSource开发的插件,它可以与Eclipse集成,帮助开发人员在编写代码时及时发现潜在的质量问题,并提供相关的调试信息和建议。这个插件可以通过在开发环境内集成SonarQube或者SonarCloud服务来实现对代码的分析和检测,从而提高代码的质量和稳定性,同时可以有效地减少维护成本和时间。 SonarLint Eclipse插件版本3.6是该插件的更新版本,在该版本中加入了一些新的特性和功能,例如能兼容最新版本的Eclipse以及支持新的Java特性和规范等。此外,该版本还修复了一些缺陷和漏洞,提高了插件的稳定性和性能。 综上所述,org.sonarlint.eclipse.site-3.6是SonarLint Eclipse插件的版本号为3.6的安装包,该插件可以帮助开发人员提高代码的质量和稳定性,并提供相关的调试信息和建议,适用于需要集成代码检查和分析服务的开发环境。 ### 回答3: org.sonarlint.eclipse.site-3.6是Eclipse SonarLint插件的一个版本。SonarLint是一个轻量级的静态代码分析工具,可以帮助开发人员在开发过程中发现并修复代码中的缺陷和漏洞,提高代码质量和可维护性。该插件为Eclipse提供了SonarLint的集成支持,使得开发人员能够更加方便地使用SonarLint来对他们的代码进行分析和优化。 该插件的版本号为3.6,表明这是该插件的第三个大版本且为第六个次版本。该版本可能包括了一些新的功能、修复了一些已知的问题,或者改进了插件的性能和稳定性。开发者可以根据自己的要求选择使用这个版本或其他版本。相比之下,该版本最显著的特点可能就是它的稳定性和兼容性。 总的来说,org.sonarlint.eclipse.site-3.6是Eclipse SonarLint插件的一个版本,为开发者提供了静态代码分析和优化的集成支持,并且具备稳定性和兼容性等方面的优点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值