如何确定数字在C中是否具有相同的数字

时间:2010-06-11 03:44:53

标签: c

确定数字在C

中是否具有相同数字的有效方法

3 个答案:

答案 0 :(得分:4)

如果仅用于在相同数字内重复出现十进制: -

int contains_repeat(int x)
{
    int occurances = 0;
    while(x>0)
    {
          if(occurances & 1 << (x % 10)) return 1;
          occurances |= 1 << (x % 10);
          x = x / 10;
    }
    return 0;
}

如果它全部相同

int all_the_same(int x)
{
    int digit = x%10;
    while(x>0)
    {
        if(x%10 != digit) return 0;
        x = x/10;
    }
    return 1;
}

如果你想要它用于不同的基础,只需传入“int base”并使用base而不是10。

答案 1 :(得分:1)

示例:

if (4444 % 1111 == 0) // all digits are the same

答案 2 :(得分:0)

您可能希望先将其转换为字符串(这样您就可以轻松处理数字的数字)。然后应用您想要的任何常用字符串算法。