📜  C测验– 108 |问题3(1)

📅  最后修改于: 2023-12-03 15:30:15.263000             🧑  作者: Mango

C测验- 108 |问题3

在C语言中,逻辑运算符是用于连接两个或更多布尔表达式的运算符。这些运算符包括:

  • 逻辑与 (&&)
  • 逻辑或 (||)
  • 逻辑非 (!)

在这个问题中,我们要求实现一个函数bool is_power_of_3(int n),该函数可以判断一个整数n是否为3的幂。当n是3的幂时,函数返回true,否则返回false

实现思路

我们可以使用循环来找到n是否为3的幂。在循环中,我们将n除以3,直到n小于或等于1,如果n能够被3整除,我们继续除以3,否则我们返回false。最后,如果n等于1,则返回true

bool is_power_of_3(int n) {
   if(n <= 0) {
      return false;
   }
   
   while(n > 1) {
      if(n % 3 != 0) {
         return false;
      }
      n /= 3;
   }
   
   return true;
}
测试样例

下面是一些测试样例:

| n | 是否为3的幂 | | ----- | ----------- | | 3 | true | | 9 | true | | 27 | true | | 81 | true | | 243 | true | | 2 | false | | 10 | false | | 100 | false | | -1 | false | | 2147483647 | false |

结论

这个问题要求我们编写一个函数,可以用来判断一个整数n是否为3的幂。我们使用了循环来实现这个函数,如果n能够被3整除,我们继续除以3,否则返回false。最后,如果n等于1,则返回true

以上就是这个问题的解答。