【问题标题】:Boolean function. Calling it and using True or false布尔函数。调用它并使用 True 或 false
【发布时间】:2014-10-28 16:33:22
【问题描述】:

我需要有关此功能的帮助,对于仅由两个数字(1 和数字本身)除的数字来说确实如此。这是一个测试功能。因此,用户得到 3 个数字,如果它们“仅除以 2”,则必须写入。我不太确定如何调用该函数,以便用户可以回答“是”“否”

bool test_prastevil(int prastevilo) {
  int c=0;
  for(int i=1;i<=prastevilo;i++) {
    if(prastevilo%i==0) {
      c++;
    }
  }
  if (c==2) {
    return true;
    //if(stevec==1)re++;}
  } else {
    return false;
  }
}    

【问题讨论】:

  • 顺便说一句,if (c == 2) {return true;} else {return false;} 过于复杂。您可以改用return c == 2;
  • 您需要函数或用户输入方面的帮助吗?
  • 我需要有关用户输入的帮助。因此,如果他输入“是”并且数字 7 为“真”,他将获得 1 分(假设为 n++;)。但我不知道该怎么做。对不起,措辞不好的帖子。我已经做到了,他可以写“0”=假,“1”代表真。但我希望用户逐字回答。
  • “对于仅被两个数字(1 和数字本身)除的数字是正确的”——这些被称为prime numbers
  • 您可以将最后的if 语句替换为return (c==2);

标签: c++ function boolean


【解决方案1】:

编辑:这部分帖子可以删除。:)

/*-------------------------------------------- ---

例如函数可以写成如下方式。我假设 1(或 -1)满足条件。

bool test_prastevil(int prastevilo)
{
    unsigned int value = std::abs( prastevilo );

    unsigned int x = 1; 
    while ( x * x < value && value % x != 0 ) x++;

    return value != 0 && x * x == value;
}  

----------------------------------- -*/

如果你需要一个判断一个数是否为prome(即不包括1)的函数,那么你可以写

bool test_prastevil( int prastevilo )
{
    unsigned int x = std::abs( prastevilo );

    bool prime = ( x == 2 ) || ( x % 2 != 0 && x != 1 );

    for ( unsigned int i = 3; prime && i * i <= x; i += 2 )
    {
        prime = x % i != 0;
    }

    return prime;
}

如果您不想考虑有符号值,则只需将参数定义为unsigned int

【讨论】:

  • 哟。这就是我的功能已经做的。我希望用户得到一个数字,比如说“7”,然后如果该数字仅被 2 个数字分开,他就有机会说“是”或“否”。我这样做了,程序允许他写“0”代表假,“1”代表真,但我希望他能够用文字来做到这一点!
  • @user3617642 包含标题 并使用 std::cout
  • 让我在这里发布说明,因为我不确定我是否不明白您要告诉我的内容还是相反:s,我很抱歉。 “如果一个数字是素数,则给定整数的第一个函数返回逻辑值(测试它的除数)。确保负数、0 和 1 未标记为素数。” “在主程序中,如果一个数字是素数,则向用户显示三遍随机数,然后每次输入一个答案。”这就是问题所在,主程序。
  • @user3617642 main 有什么问题?输入三个不同的数字并以每个数字作为参数调用函数。
  • 所以他得到了一个随机数 7。他必须写下这个数字是不是素数。他写“是”得 1 分,他写“否”得 0 分。我不知道“yes=true”和“no=false”是怎么回事
猜你喜欢
  • 2018-12-29
  • 1970-01-01
  • 2019-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多