布尔函数.调用它并使用True或false

Boolean function. Calling it and using True or false

本文关键字:True false 函数 调用 布尔      更新时间:2023-10-16

我需要这个函数的帮助——对于只由两个数字(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;
  }
}    
编辑:这部分帖子可以删除。:)

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

例如,函数可以按照以下方式编写。我假设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