我是 C++ 开发的新手,我希望有人能帮助我完成我一直在尝试做的事情。
例如,我想要一个函数,给定一个整数输入,返回它包含的不同数字的数量。
例如,如果我有三个整数:
int a = 19876;
int b = 25644;
int c = 4444;
如果我将“a”传递给函数,我希望返回数字 5。 如果将“b”传递给函数,我希望返回“4”, 如果将“c”传递给函数,则将返回 1,因为它们是不同数字的数量。
有人可以说明我如何实现这一目标吗?
最佳答案
你的意思是要求整数中不同小数位数的个数?
int distinct_digits(int value) {
std::ostringstream out;
out << value;
std::string digits = out.str();
std::sort(digits.begin(), digits.end());
return std::unique(digits.begin(), digits.end()) - digits.begin();
}
(未编译或测试但基本思想应该有效)
关于c++ - 计算整数十进制表示中不同数字的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12679777/