确定数字在C
中是否具有相同数字的有效方法答案 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)
您可能希望先将其转换为字符串(这样您就可以轻松处理数字的数字)。然后应用您想要的任何常用字符串算法。