当前位置: 首页 > 知识库问答 >
问题:

计算并返回起泡问题中3*f 5*b-15*fb的值

燕超
2023-03-14

给定:如果一个数字可以被3整除,那么它就被认为是嘶嘶作响。如果它能被5整除,就被认为是嗡嗡声。如果它可以被3和5整除,就被认为是嘶嘶作响。嘶嘶声既不是嘶嘶声也不是嗡嗡声。给定两个数字n1和n2,使n2

计算并返回3*f 5*b-15*fb的值?

我的方法:

我使用了问题中给出的所有条件,但我不知道如何使用这个条件“嘶嘶声既不是嘶嘶声也不是嗡嗡声”

我得到了错误的输出可能是因为这一点,任何人都可以指导我如何解决这个问题。

public int calcFB (int n1, int n2) 
{
    int f=0;
    int b=0;
    int fb=0;
  for(int i=n1;i<=n2;i++)
  {
     if((i%3==0)&&(i%5==0))
     {
       fb++;
     }
     else if(i%3==0)
     {
        f++;
     }
     else if(i%5==0)
     {
        b++;
     }


  }
   return 3*f+5*b+15*fb;

}

对于输入:

 Parameters      Actual Output  Expected Output
'1' '21'         56             18

共有2个答案

罗安和
2023-03-14

你的方法基本上是正确的。短语"A fizzbuzz is not fizz or buzz"只是指在计算中不要重复计算数字。

这是因为早期的定义本身:

  • 如果一个数字可以被3整除,那么它就被认为是嘶嘶作响的
  • 如果它能被5整除,就被认为是嗡嗡声
  • 如果它可以被3和5整除,就被认为是嘶嘶作响

可以读取(例如)将数字15作为fizzbuzzfizzbuzz,因为15肯定可以被35整除

额外的短语阐明了这一点,15的倍数仅为fizzbuzz(既不是fizz也不是buzz)。事实上,你的代码已经解释了这个短语,因为它首先会检查fizzbuzz,如果找到,就会直接转到下一个数字。

你得到错误答案的原因很简单,你在添加15*fb,而规范明确指出你需要减去这个术语:

3*f+5*b-15*fb
       ^
       here

如果你在做加法,你会得到48的结果(而不是你在问题中说的56,这需要范围的上端是25,而不是21)。减法会得到18的正确答案。

路昆杰
2023-03-14

在你的返回声明中,你添加了15*fb,在你对问题的描述中,你说公式是3*f5*b-15*fb。所以你需要用这个返回语句减去15*fb:

return 3*f+5*b-15*fb
 类似资料:
  • 问题内容: 在Java中,尝试{…}最终{…}在我看来有点不直观。如另一个问题所示,“最终是否总是在Java中执行?,如果try块中有return语句,则在定义了finally块的情况下将忽略该语句。例如功能 将始终返回false。我的问题:这是为什么?Java做出的这种设计决策背后是否有特定的哲学?我感谢任何见解,谢谢。 编辑:我对“为什么” Java认为可以违反我定义的语义特别感兴趣。如果我在

  • 有时它可以返回多个结果。因此,我不认为会起作用。 如何在Python中计算行数?就像在PHP中一样,我可以使用。 我找不到任何方法来做这件事。我正在使用Python3。 我对python MySQL绝对是新手。我对PHP中的MySQL真的很熟悉。 您可以使用来实现。但是,出于我的好奇:有没有方法直接使用pymysql来实现它?

  • 我需要从类B中的方法C返回一个值。 我希望我的代码像这样处理:1 - 2 - 3 - 4 - 5 但它的处理方式是:1-4-5-2-3 (如您所见,我在代码中添加了一些日志。) 我已经处理这个问题一个多星期了,但我找不到问题。 我在这个问题中删除了一些无用的代码。 问题是什么?我如何解决这个问题? 我重写了这篇文章,因为有人说我把代码缩短得太多了。 希望足够了! 提前谢谢你!

  • 问题内容: 我的JSON有问题。它可以在PHP 5.3中正确返回(因此我不能使用json_last_error()),并且在我将字符串显式复制到json_decode(json_decode(’{…}’)中时成功返回。结果作为变量,我正在使用php 5.2,这是我需要的。 输出来自PHPUnit中的JSON日志记录: 编辑:这些是我一直在探索的路径-也许您是一个更好的探索者。.三种可能的路径可以帮

  • 我的JavaFX/Java计算器有问题。当我输入一个方程式时,它(计算器)工作正常,答案也正确。但是,当我在另一个操作中按下/键,然后再按下另一个数字时,结果/和/等将不正确,除非我按下/键的运算符与之前相同。下面是一个例子: 工程量:26=82=10 不起作用:26=8-2=10 工程:6x2=12x2=26 不起作用:6x2=12÷2=26 我想知道有没有办法解决这个问题。 这是我的FXML控

  • 正在尝试检索mp3信息(唱片名,…)使用MediaMetadataRetriever。在模拟器中,它运行良好。在我的设备上,大多数方法都返回null。 MediaMetadataRetriever mmr=新的MediaMetadataRetriever();嗯。setDataSource(songPath); 字符串albumName=mmr。extractMetadata(MediaMetad