//推断一个数是否为2的n次方 #include <stdio.h> int is_two_n(int num) { if ((num&(num - 1))) //去掉一个1,推断是否为0 return -1; return 1; } int main() { int a; printf("请输入数字:"); scanf_s("%d",&a); if (is_two_n(a)==1) printf("该数是2的次方\n"); else printf("该数不是2的次方\n"); return 0; }
时间: 2024-10-06 18:20:52