gpt4 book ai didi

检查整数是否为每个数字为零或一的整数

转载 作者:太空宇宙 更新时间:2023-11-04 05:59:42 26 4
gpt4 key购买 nike

在 C 程序中检查整数是否为每个数字为 0 或 1 的有效方法是什么?

示例 100//是正确的,因为它只包含 0 或 1

701//错误

我试过了

    int containsZero(int num) {
if(num == 0)
return 0;

if(num < 0)
num = -num;

while(num > 0) {
if(num % 10 == 0)
return 0;
num /= 10;
}
return -1;
}

int containsOne(int num) {
if(num == 0)
return 0;

if(num < 0)
num = -num;

while(num > 0) {
if(num % 10 == 1)
return 0;
num /= 10;
}
return -1;
}

最佳答案

您可以剥离每个数字并进行检查。这需要 O(n) 操作。

int input;
while (input != 0)
{
int digit = input %10; //get last digit using modulo
input = input / 10; //removes last digit using div
if (digit != 0 && digit != 1)
{
return FALSE;
}
}
return TRUE;

关于检查整数是否为每个数字为零或一的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21137812/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com